## 统计分析下会员升级记录(142),真实奖衔分析,伞下直推,伞下账户余额查询优化处理;

This commit is contained in:
cabbage 2025-06-03 15:03:36 +08:00
parent 25a4852043
commit 0b4b4de4b9
22 changed files with 138 additions and 332 deletions

View File

@ -19,10 +19,9 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.hzs.common.core.exception.ServiceException;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**

View File

@ -10,9 +10,6 @@ import java.util.List;
/**
* 会员信息-等级升级记录 Mapper 接口
*
* @author hzs
* @since 2022-10-11
*/
public interface CuMemberLevelMapper extends BaseMapper<CuMemberLevel> {

View File

@ -10,9 +10,6 @@ import java.util.List;
/**
* 会员信息-等级升级记录 服务类
*
* @author hzs
* @since 2022-10-11
*/
public interface ICuMemberLevelService extends IService<CuMemberLevel> {
@ -30,9 +27,6 @@ public interface ICuMemberLevelService extends IService<CuMemberLevel> {
* @param pkOrder 订单
* @param pkApprove 审核人
* @param currentDateTime 当前时间
* @return: void
* @Author: sui q
* @Date: 2023/3/30 9:15
*/
void deleteCuMemberLevelRecord(Long pkOrder, Long pkApprove, Date currentDateTime);

View File

@ -17,9 +17,6 @@ import java.util.List;
/**
* 会员信息-等级升级记录 服务实现类
*
* @author hzs
* @since 2022-10-11
*/
@Service
public class CuMemberLevelServiceImpl extends ServiceImpl<CuMemberLevelMapper, CuMemberLevel> implements ICuMemberLevelService {

View File

@ -32,6 +32,7 @@
left join bd_grade bgn
on bgn.pk_id = cml.new_level
where cml.del_flag = 0
and cm.del_flag = 0
<if test="param.memberCode != null and param.memberCode != ''">
and cm.member_code like #{param.memberCode} || '%'
</if>

View File

@ -274,8 +274,6 @@ public class CuMemberAwardsStatController extends BaseController {
public TableDataInfo analysisList(CuMemberAwardsAnalysisVO cuMemberAwardsAnalysisVO) {
Date date = DateUtils.currentDate();
cuMemberAwardsAnalysisVO.setPkCountry(SecurityUtils.getPkCountry());
//查询当前国家的汇率
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
//当前日期前一天
String dateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS, date));
@ -294,6 +292,9 @@ public class CuMemberAwardsStatController extends BaseController {
realList = iCuMemberAwardsStatService.selectAwardsAnalysisList(list);
}
if (CollectionUtil.isNotEmpty(list) && CollectionUtil.isNotEmpty(realList)) {
//查询当前国家的汇率
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
list.forEach(itm -> {
//业绩转为当前国家的汇率
list.forEach(itmm -> {
@ -442,12 +443,7 @@ public class CuMemberAwardsStatController extends BaseController {
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.AWARD_ANALYSIS, method = EOperationMethod.EXPORT)
@PostMapping("/export-analysis")
public void exportAnalysis(HttpServletResponse response, CuMemberAwardsAnalysisVO cuMemberAwardsAnalysisVO) {
Map<Integer, String> transactionMap1 = iTransactionCommonService.exportEnumTransactionByDB(EnumsPrefixConstants.KEY_GRADE,
EnumsPrefixConstants.KEY_AWARD);
Map<String, String> transactionMap = iTransactionCommonService.exportEnumTransaction(EUpgradeType.values());
//查询当前国家的汇率
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
Date date = DateUtils.currentDate();
cuMemberAwardsAnalysisVO.setPkCountry(SecurityUtils.getPkCountry());
//当前日期前一天
@ -464,10 +460,12 @@ public class CuMemberAwardsStatController extends BaseController {
}
List<CuMemberAwardsAnalysisVO> realList = iCuMemberAwardsStatService.selectAwardsAnalysisList(list);
if (CollectionUtil.isNotEmpty(list) && CollectionUtil.isNotEmpty(realList)) {
//查询当前国家的汇率
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
Map<String, String> transactionMap = iTransactionCommonService.exportEnumTransaction(EUpgradeType.values());
list.forEach(itm -> {
itm.setUpTypeVal(transactionMap.get(EnumsPrefixConstants.UPGRADE_TYPE + itm.getUpType()));
itm.setPkAwardsVal(transactionMap1.get(itm.getPkAwards()));
itm.setPkRegisterGradeVal(transactionMap1.get(itm.getPkRegisterGrade()));
//业绩转为当前国家的汇率
list.forEach(itmm -> {
if (itm.getPkMember().equals(itmm.getPkMember()) &&

View File

@ -1,6 +1,5 @@
package com.hzs.report.member.controller.manage;
import com.hzs.common.core.annotation.Log;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.EOperationBusiness;
@ -27,12 +26,7 @@ import java.util.ArrayList;
import java.util.List;
/**
* <p>
* 会员伞下统计相关 前端控制器
* </p>
*
* @author zhangjing
* @since 2022-10-20
*/
@RestController
@RequestMapping("/manager/member-brolly")
@ -40,52 +34,41 @@ public class CuMemberBrollyStatController extends BaseController {
@Autowired
private IMemberService iMemberService;
@DubboReference
private IMemberServiceApi iMemberServiceApi;
IMemberServiceApi iMemberServiceApi;
/**
* @description: 查询伞下账户余额
* @author: zhang jing
* @date: 2023/8/25 15:53
* @param: [umbrellaBalanceVO]
* @return: com.hzs.common.core.web.page.TableDataInfo
* 查询伞下账户余额
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.UMBRELLA_BALANCE, method = EOperationMethod.SELECT)
@GetMapping("/umbrella-list")
public TableDataInfo umbrellalist(CuMemberUmbrellaBalanceVO umbrellaBalanceVO) {
startPage();
Integer pkCountry = SecurityUtils.getPkCountry();
umbrellaBalanceVO.setPkCountry(pkCountry);
List<CuMemberUmbrellaBalanceVO> list;
List<CuMemberUmbrellaBalanceVO> list = new ArrayList<>();
if (StringUtils.isNotEmpty(umbrellaBalanceVO.getMemberCode())) {
R<CuMember> member = iMemberServiceApi.getMember(umbrellaBalanceVO.getMemberCode());
umbrellaBalanceVO.setPkId(member.getData().getPkId());
umbrellaBalanceVO.setPkCountry(SecurityUtils.getPkCountry());
startPage();
list = iMemberService.selectUmbrellaLowerBalance(umbrellaBalanceVO);
} else {
list = new ArrayList<>();
}
return getDataTable(list);
}
/**
* @description: 导出 查询伞下账户余额
* @author: zhang jing
* @date: 2023/8/25 16:10
* @param: [response, umbrellaBalanceVO]
* @return: void
* 导出 查询伞下账户余额
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.UMBRELLA_BALANCE, method = EOperationMethod.EXPORT)
@PostMapping("/export-umbrella")
public void exportUmbrella(HttpServletResponse response, CuMemberUmbrellaBalanceVO umbrellaBalanceVO) {
List<CuMemberUmbrellaBalanceVO> list;
Integer pkCountry = SecurityUtils.getPkCountry();
umbrellaBalanceVO.setPkCountry(pkCountry);
List<CuMemberUmbrellaBalanceVO> list = new ArrayList<>();
if (StringUtils.isNotEmpty(umbrellaBalanceVO.getMemberCode())) {
R<CuMember> member = iMemberServiceApi.getMember(umbrellaBalanceVO.getMemberCode());
umbrellaBalanceVO.setPkId(member.getData().getPkId());
umbrellaBalanceVO.setPkCountry(SecurityUtils.getPkCountry());
list = iMemberService.selectUmbrellaLowerBalance(umbrellaBalanceVO);
} else {
list = new ArrayList<>();
}
ExcelUtil<CuMemberUmbrellaBalanceVO> util = new ExcelUtil<>(CuMemberUmbrellaBalanceVO.class);
util.exportExcel(response, list, "伞下账户余额");

View File

@ -2,7 +2,6 @@ package com.hzs.report.member.controller.manage;
import cn.hutool.core.collection.CollectionUtil;
import com.hzs.common.core.annotation.Log;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.EOperationBusiness;
import com.hzs.common.core.enums.EOperationMethod;
@ -12,7 +11,6 @@ import com.hzs.common.core.utils.poi.ExcelUtil;
import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.page.TableDataInfo;
import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.service.ITransactionCommonService;
import com.hzs.member.base.IMemberServiceApi;
import com.hzs.report.member.service.IMemberService;
import com.hzs.report.member.vo.UmbrellaBelowPushVO;
@ -29,6 +27,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 伞下直推
@ -38,12 +37,10 @@ import java.util.Map;
public class CuUmbrellaBelowPushController extends BaseController {
@Autowired
private IMemberService memberService;
@Autowired
private ITransactionCommonService iTransactionCommonService;
private IMemberService iMemberService;
@DubboReference
IMemberServiceApi memberServiceApi;
IMemberServiceApi iMemberServiceApi;
/**
* 伞下直推
@ -55,21 +52,15 @@ public class CuUmbrellaBelowPushController extends BaseController {
if (StringUtils.isEmpty(uvo.getMemberCode())) {
return getDataTable(uvoExtList);
}
R<CuMember> member = memberServiceApi.getMember(uvo.getMemberCode());
R<CuMember> member = iMemberServiceApi.getMember(uvo.getMemberCode());
if (null != member.getData()) {
uvo.setPkMember(member.getData().getPkId());
//查询伞下推荐人
startPage();
uvo.setPkMember(member.getData().getPkId());
uvoExtList = memberService.queryUmbrellaBelowPush(uvo);
List<Long> pkMemberList = new ArrayList<>();
uvoExtList = iMemberService.queryUmbrellaBelowPush(uvo);
if (CollectionUtil.isNotEmpty(uvoExtList)) {
uvoExtList.forEach(itm -> {
pkMemberList.add(itm.getPkMember());
});
}
if (CollectionUtil.isNotEmpty(pkMemberList)) {
uvo.setPkMemberList(pkMemberList);
List<UmbrellaBelowPushVO> ordeList = memberService.queryOrderExpend(uvo);
uvo.setPkMemberList(uvoExtList.stream().map(UmbrellaBelowPushVO::getPkMember).collect(Collectors.toList()));
List<UmbrellaBelowPushVO> ordeList = iMemberService.queryOrderExpend(uvo);
Map<Long, BigDecimal> orderMap = new HashMap<>();
if (CollectionUtil.isNotEmpty(ordeList)) {
ordeList.forEach(itms -> {
@ -92,44 +83,33 @@ public class CuUmbrellaBelowPushController extends BaseController {
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.UMBRELLA_DIRECT_PUSH, method = EOperationMethod.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, UmbrellaBelowPushVO uvo) {
List<UmbrellaBelowPushVO> list = new ArrayList<>();
List<UmbrellaBelowPushVO> uvoExtList = new ArrayList<>();
if (StringUtils.isEmpty(uvo.getMemberCode())) {
ExcelUtil<UmbrellaBelowPushVO> util = new ExcelUtil<>(UmbrellaBelowPushVO.class);
util.exportExcel(response, list, "伞下直推统计");
util.exportExcel(response, uvoExtList, "伞下直推统计");
}
Map<Integer, String> transactionMap1 = iTransactionCommonService.exportEnumTransactionByDB(EnumsPrefixConstants.KEY_GRADE,
EnumsPrefixConstants.KEY_AWARD);
R<CuMember> member = memberServiceApi.getMember(uvo.getMemberCode());
R<CuMember> member = iMemberServiceApi.getMember(uvo.getMemberCode());
if (null != member.getData()) {
uvo.setPkMember(member.getData().getPkId());
//查询伞下推荐人
startPage();
uvo.setPkMember(member.getData().getPkId());
list = memberService.queryUmbrellaBelowPush(uvo);
List<Long> pkMemberList = new ArrayList<>();
if (CollectionUtil.isNotEmpty(list)) {
list.forEach(itm -> {
pkMemberList.add(itm.getPkMember());
});
}
if (CollectionUtil.isNotEmpty(pkMemberList)) {
uvo.setPkMemberList(pkMemberList);
List<UmbrellaBelowPushVO> ordeList = memberService.queryOrderExpend(uvo);
uvoExtList = iMemberService.queryUmbrellaBelowPush(uvo);
if (CollectionUtil.isNotEmpty(uvoExtList)) {
uvo.setPkMemberList(uvoExtList.stream().map(UmbrellaBelowPushVO::getPkMember).collect(Collectors.toList()));
List<UmbrellaBelowPushVO> ordeList = iMemberService.queryOrderExpend(uvo);
Map<Long, BigDecimal> orderMap = new HashMap<>();
if (CollectionUtil.isNotEmpty(ordeList)) {
ordeList.forEach(itms -> {
orderMap.merge(itms.getPkMember(), itms.getOrderAchieve(), (a, b) -> b.add(a));
});
}
list.forEach(itm -> {
uvoExtList.forEach(itm -> {
itm.setOrderAchieve(orderMap.get(itm.getPkMember()));
itm.setPkAwardsVal(transactionMap1.get(itm.getPkAwards()));
itm.setPkRegisterGradeVal(transactionMap1.get(itm.getPkRegisterGrade()));
});
}
}
ExcelUtil<UmbrellaBelowPushVO> util = new ExcelUtil<>(UmbrellaBelowPushVO.class);
util.exportExcel(response, list, "伞下直推统计");
util.exportExcel(response, uvoExtList, "伞下直推统计");
}
}

View File

@ -59,7 +59,7 @@ public class MemberReportController extends BaseController {
ICurrencyServiceApi iCurrencyServiceApi;
/**
* @description: 伞下直推新增业绩
* 伞下直推新增业绩
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.DIRECT_PUSH_NEW, method = EOperationMethod.SELECT)
@GetMapping("/direct-push-new")
@ -118,7 +118,7 @@ public class MemberReportController extends BaseController {
}
/**
* @description: 伞下直推新增业绩导出
* 伞下直推新增业绩导出
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.DIRECT_PUSH_NEW, method = EOperationMethod.EXPORT)
@PostMapping("/export-direct-push-new")
@ -178,7 +178,7 @@ public class MemberReportController extends BaseController {
}
/**
* @description: 伞下直推新增业绩历史
* 伞下直推新增业绩历史
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.DIRECT_PUSH_NEW, method = EOperationMethod.SELECT)
@GetMapping("/direct-push-new-up")
@ -253,7 +253,7 @@ public class MemberReportController extends BaseController {
/**
* @description: 伞下直推新增业绩导出(历史)
* 伞下直推新增业绩导出(历史)
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.DIRECT_PUSH_NEW, method = EOperationMethod.EXPORT)
@PostMapping("/export-direct-push-new-up")
@ -423,7 +423,7 @@ public class MemberReportController extends BaseController {
}
/**
* @description: 伞下新增安置业绩列表历史
* 伞下新增安置业绩列表历史
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.MEMBER_RESETTLE_ACHIEVE, method = EOperationMethod.SELECT)
@GetMapping("/member-resettle-achieve_up")
@ -501,7 +501,7 @@ public class MemberReportController extends BaseController {
}
/**
* @description: 导出伞下新增安置业绩列表
* 导出伞下新增安置业绩列表
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.MEMBER_RESETTLE_ACHIEVE, method = EOperationMethod.EXPORT)
@PostMapping("/member-resettle-achieve_up_export")
@ -931,7 +931,7 @@ public class MemberReportController extends BaseController {
}
/*
* @description: 安置反查
* 安置反查
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PLACE_PEG, method = EOperationMethod.SELECT)
@PostMapping("/place-peg")
@ -966,7 +966,7 @@ public class MemberReportController extends BaseController {
}
/**
* @description: 导出安置反查
* 导出安置反查
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PLACE_PEG, method = EOperationMethod.EXPORT)
@PostMapping("/export-place-peg")
@ -998,7 +998,7 @@ public class MemberReportController extends BaseController {
}
/*
* @description: 推荐反查
* 推荐反查
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PARENT_PEG, method = EOperationMethod.SELECT)
@PostMapping("/parent-peg")
@ -1023,7 +1023,7 @@ public class MemberReportController extends BaseController {
}
/**
* @description: 导出推荐反查
* 导出推荐反查
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PARENT_PEG, method = EOperationMethod.EXPORT)
@PostMapping("/export-parent-peg")

View File

@ -11,7 +11,7 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 会员信息-奖衔升级记录 Mapper 接口
* 会员信息 Mapper 接口
*/
public interface MemberMapper extends BaseMapper<CuMember> {
@ -93,11 +93,4 @@ public interface MemberMapper extends BaseMapper<CuMember> {
*/
List<UmbrellaBelowPushVO> queryOrderExpend(UmbrellaBelowPushVO umbrellaBelowPushVO);
/**
* 统计分析-伞下直推会员信息
*
* @param pkId
* @return
*/
UmbrellaBelowPushVO queryUmbrellaBelowInfo(@Param("pkId") Long pkId);
}

View File

@ -8,63 +8,33 @@ import com.hzs.report.member.vo.UmbrellaBelowPushVO;
import java.util.List;
/**
* @description: 会员查询的服务
* @author: sui q
* @time: 2023/8/26 09:37
* @classname: IMemberService
* @package_name: com.hzs.report.member.service
* version 1.0.0
* 会员查询的服务
*/
public interface IMemberService {
/**
* @description: 查询伞下账户余额
* @author: zhang jing
* @date: 2023/8/25 15:29
* @param: [umbrellaBalanceVO]
* @return: java.util.List<com.hzs.member.base.vo.CuMemberUmbrellaBalanceVO>
**/
* 查询伞下账户余额
*/
List<CuMemberUmbrellaBalanceVO> selectUmbrellaLowerBalance(CuMemberUmbrellaBalanceVO umbrellaBalanceVO);
/*
* @description: 会员安置反查
* @author: sui q
* @date: 2023/8/28 15:03
* @param: null null
**/
/**
* 会员安置反查
*/
List<CuMemberAchieveExt> queryPlaceCuMemberAchieveExt(CuMemberUmbrellaParam cuMemberUmbrellaParam);
/*
* @description: 会员推荐反查
* @author: sui q
* @date: 2023/8/28 15:03
* @param: null null
**/
/**
* 会员推荐反查
*/
List<CuMemberAchieveExt> queryParentCuMemberAchieveExt(CuMemberUmbrellaParam cuMemberUmbrellaParam);
/**
* @description: 统计分析-伞下直推
* @author: zhang jing
* @date: 2023/6/13 9:59
* @param: [memberId]
* @return: java.util.List<com.hzs.common.domain.member.ext.CuMemberExt>
**/
* 统计分析-伞下直推
*/
List<UmbrellaBelowPushVO> queryUmbrellaBelowPush(UmbrellaBelowPushVO umbrellaBelowPushVO);
/**
* @description: 查询会员订单消费业绩
* @author: zhang jing
* @date: 2023/9/12 10:41
* @param: [umbrellaBelowPushVO]
* @return: java.util.List<com.hzs.report.member.vo.UmbrellaBelowPushVO>
**/
* 查询会员订单消费业绩
*/
List<UmbrellaBelowPushVO> queryOrderExpend(UmbrellaBelowPushVO umbrellaBelowPushVO);
/**
* @description: 统计分析-伞下直推会员信息
* @author: zhang jing
* @date: 2023/6/13 13:44
* @param: [pkId]
* @return: java.util.List<com.hzs.member.statis.vo.UmbrellaBelowPushVO>
**/
UmbrellaBelowPushVO queryUmbrellaBelowInfo(Long pkId);
}

View File

@ -19,12 +19,7 @@ import java.util.Date;
import java.util.List;
/**
* @description: 会员
* @author: sui q
* @time: 2023/8/26 09:37
* @classname: MemberServiceImpl
* @package_name: com.hzs.report.member.service.impl
* version 1.0.0
* 会员查询的服务
*/
@Service
public class MemberServiceImpl implements IMemberService {
@ -33,15 +28,8 @@ public class MemberServiceImpl implements IMemberService {
private MemberMapper memberMapper;
@DubboReference
private ICuMemberSettlePeriodServiceApi cuMemberSettlePeriodServiceApi;
ICuMemberSettlePeriodServiceApi iCuMemberSettlePeriodServiceApi;
/**
* @description: 查询伞下账户余额
* @author: zhang jing
* @date: 2023/8/25 15:29
* @param: [umbrellaBalanceVO]
* @return: java.util.List<com.hzs.member.base.vo.CuMemberUmbrellaBalanceVO>
**/
@Override
public List<CuMemberUmbrellaBalanceVO> selectUmbrellaLowerBalance(CuMemberUmbrellaBalanceVO umbrellaBalanceVO) {
return memberMapper.selectUmbrellaLowerBalance(umbrellaBalanceVO);
@ -52,18 +40,18 @@ public class MemberServiceImpl implements IMemberService {
Date settleDate = cuMemberUmbrellaParam.getQueryDate() == null ? DateUtils.currentDate() : cuMemberUmbrellaParam.getQueryDate();
if (DateUtils.compareDateBefore(settleDate, DateUtils.currentDate())) {
String date = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate);
CuMemberSettlePeriod cuMemberSettlePeriod = cuMemberSettlePeriodServiceApi.getCuMemberSettlePeriodByDate(date).getData();
CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodServiceApi.getCuMemberSettlePeriodByDate(date).getData();
String tableName = TableNameConstants.CU_MEMBER_SETTLE + cuMemberSettlePeriod.getPkId();
String tableAssName = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.getYear(date);
Integer period = cuMemberSettlePeriodServiceApi.getCuMemberSettlePeriodByDate(DateUtils.currentMonthFirstDateStr(settleDate)).getData().getPkId();
Integer period = iCuMemberSettlePeriodServiceApi.getCuMemberSettlePeriodByDate(DateUtils.currentMonthFirstDateStr(settleDate)).getData().getPkId();
return memberMapper.queryPlaceParentHisCuMemberAchieveExt(tableName, tableAssName, period, cuMemberUmbrellaParam);
} else {
settleDate = DateUtils.beforeDate(1, ChronoUnit.DAYS);
String date = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate);
CuMemberSettlePeriod cuMemberSettlePeriod = cuMemberSettlePeriodServiceApi.getCuMemberSettlePeriodByDate(date).getData();
CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodServiceApi.getCuMemberSettlePeriodByDate(date).getData();
String tableAssName = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.getYear(date);
String tableName = TableNameConstants.CU_MEMBER_SETTLE + cuMemberSettlePeriod.getPkId();
Integer period = cuMemberSettlePeriodServiceApi.getCuMemberSettlePeriodByDate(DateUtils.currentMonthFirstDateStr(settleDate)).getData().getPkId();
Integer period = iCuMemberSettlePeriodServiceApi.getCuMemberSettlePeriodByDate(DateUtils.currentMonthFirstDateStr(settleDate)).getData().getPkId();
return memberMapper.queryPlaceParentCuMemberAchieveExt(tableName, tableAssName, period, cuMemberUmbrellaParam);
}
}
@ -73,53 +61,28 @@ public class MemberServiceImpl implements IMemberService {
Date settleDate = cuMemberUmbrellaParam.getQueryDate() == null ? DateUtils.currentDate() : cuMemberUmbrellaParam.getQueryDate();
if (DateUtils.compareDateBefore(settleDate, DateUtils.currentDate())) {
String date = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate);
CuMemberSettlePeriod cuMemberSettlePeriod = cuMemberSettlePeriodServiceApi.getCuMemberSettlePeriodByDate(date).getData();
CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodServiceApi.getCuMemberSettlePeriodByDate(date).getData();
String tableName = TableNameConstants.CU_MEMBER_SETTLE + cuMemberSettlePeriod.getPkId();
String tableAssName = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.getYear(date);
Integer period = cuMemberSettlePeriodServiceApi.getCuMemberSettlePeriodByDate(DateUtils.currentMonthFirstDateStr(settleDate)).getData().getPkId();
Integer period = iCuMemberSettlePeriodServiceApi.getCuMemberSettlePeriodByDate(DateUtils.currentMonthFirstDateStr(settleDate)).getData().getPkId();
return memberMapper.queryParentParentHisCuMemberAchieveExt(tableName, tableAssName, period, cuMemberUmbrellaParam);
} else {
settleDate = DateUtils.beforeDate(1, ChronoUnit.DAYS);
String date = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate);
String tableAssName = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.getYear(date);
Integer period = cuMemberSettlePeriodServiceApi.getCuMemberSettlePeriodByDate(DateUtils.currentMonthFirstDateStr(settleDate)).getData().getPkId();
Integer period = iCuMemberSettlePeriodServiceApi.getCuMemberSettlePeriodByDate(DateUtils.currentMonthFirstDateStr(settleDate)).getData().getPkId();
return memberMapper.queryParentParentCuMemberAchieveExt(tableAssName, period, cuMemberUmbrellaParam);
}
}
/**
* @description: 统计分析-伞下直推
* @author: zhang jing
* @date: 2023/6/13 13:54
* @param: [memberId]
* @return: java.util.List<com.hzs.member.statis.vo.UmbrellaBelowPushVO>
**/
@Override
public List<UmbrellaBelowPushVO> queryUmbrellaBelowPush(UmbrellaBelowPushVO umbrellaBelowPushVO) {
return memberMapper.queryUmbrellaBelowPush(umbrellaBelowPushVO);
}
/**
* @description: 查询会员订单消费业绩
* @author: zhang jing
* @date: 2023/9/12 10:41
* @param: [umbrellaBelowPushVO]
* @return: java.util.List<com.hzs.report.member.vo.UmbrellaBelowPushVO>
**/
@Override
public List<UmbrellaBelowPushVO> queryOrderExpend(UmbrellaBelowPushVO umbrellaBelowPushVO) {
return memberMapper.queryOrderExpend(umbrellaBelowPushVO);
}
/**
* @description: 统计分析-伞下直推会员信息
* @author: zhang jing
* @date: 2023/6/13 13:44
* @param: [memberId]
* @return: java.util.List<com.hzs.member.statis.vo.UmbrellaBelowPushVO>
**/
@Override
public UmbrellaBelowPushVO queryUmbrellaBelowInfo(Long pkId) {
return memberMapper.queryUmbrellaBelowInfo(pkId);
}
}

View File

@ -11,12 +11,7 @@ import java.math.BigDecimal;
import java.util.Date;
/**
* <p>
* 会员信息-真实奖衔分析VO
* </p>
*
* @author hzs
* @since 2022-08-31
*/
@Data
public class CuMemberAwardsAnalysisVO {
@ -57,7 +52,6 @@ public class CuMemberAwardsAnalysisVO {
*/
@Transaction(transactionKey = EnumsPrefixConstants.KEY_GRADE)
private Integer pkRegisterGrade;
/**
* 注册等级
*/
@ -68,7 +62,6 @@ public class CuMemberAwardsAnalysisVO {
*/
@Transaction(transactionKey = EnumsPrefixConstants.KEY_AWARD)
private Integer pkAwards;
/**
* 奖衔
*/
@ -88,15 +81,14 @@ public class CuMemberAwardsAnalysisVO {
* 左区真实累计业绩
*/
@BigDecimalFormat
@Excel(name = "左区真实累计业绩(¥)",scale = 2)
private BigDecimal aSumRealPv=BigDecimal.ZERO;
@Excel(name = "左区真实累计业绩(¥)", scale = 2)
private BigDecimal aSumRealPv = BigDecimal.ZERO;
/**
* 右区真实累计业绩
*/
@BigDecimalFormat
@Excel(name = "右区真实累计业绩(¥)",scale = 2)
private BigDecimal bSumRealPv=BigDecimal.ZERO;
@Excel(name = "右区真实累计业绩(¥)", scale = 2)
private BigDecimal bSumRealPv = BigDecimal.ZERO;
/**
* 结算期间
@ -113,7 +105,7 @@ public class CuMemberAwardsAnalysisVO {
/**
* 创建时间
*/
@Excel(name = "晋升日期",dateFormat = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "晋升日期", dateFormat = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date creationTime;
/**
@ -154,6 +146,4 @@ public class CuMemberAwardsAnalysisVO {
private Integer pkGrade;
}

View File

@ -1,5 +1,6 @@
package com.hzs.report.member.vo;
import com.hzs.common.core.annotation.BigDecimalFormat;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
@ -12,11 +13,7 @@ import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description: 安置伞下账户余额
* @Author: zhangjing
* @Time: 2022/10/13 11:21
* @Classname: CuMemberVO
* @PackageName: com.hzs.member.base.vo
* 安置伞下账户余额
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ -60,79 +57,83 @@ public class CuMemberUmbrellaBalanceVO implements Serializable {
@Excel(name = "隶属团队")
private String teamName;
/**
* 现金账户
*/
@Excel(name = "现金账户余额(¥)")
@BigDecimalFormat
@Excel(name = "现金账户余额(¥)", scale = 2)
private BigDecimal account2;
/**
* 现金锁定账户
*/
@Excel(name = "冻结现金账户(¥)")
@BigDecimalFormat
@Excel(name = "冻结现金账户(¥)", scale = 2)
private BigDecimal lockAccount2;
/**
* 可提现账户余额
*/
@Excel(name = "可提现账户余额(¥)")
@BigDecimalFormat
@Excel(name = "可提现账户余额(¥)", scale = 2)
private BigDecimal withdrawAccount4;
/**
* 奖金账户
*/
@Excel(name = "奖金账户余额(¥)")
@BigDecimalFormat
@Excel(name = "奖金账户余额(¥)", scale = 2)
private BigDecimal account4;
/**
* 奖金锁定账户
*/
@Excel(name = "冻结奖金账户(¥)")
@BigDecimalFormat
@Excel(name = "冻结奖金账户(¥)", scale = 2)
private BigDecimal lockAccount4;
/**
* 消费账户
*/
@Excel(name = "消费账户余额(¥)")
@BigDecimalFormat
@Excel(name = "消费账户余额(¥)", scale = 2)
private BigDecimal account1;
/**
* 政策账户
*/
@Excel(name = "政策账户余额(¥)")
@BigDecimalFormat
@Excel(name = "政策账户余额(¥)", scale = 2)
private BigDecimal account3;
/**
* 重消账户
*/
@Excel(name = "重销账户余额(¥)")
@BigDecimalFormat
@Excel(name = "重销账户余额(¥)", scale = 2)
private BigDecimal account5;
/**
* 积分账户
*/
@Excel(name = "积分账户余额")
@BigDecimalFormat
@Excel(name = "积分账户余额", scale = 2)
private BigDecimal account6;
/**
* 鼓励账户
*/
@Excel(name = "鼓励账户余额")
@BigDecimalFormat
@Excel(name = "鼓励账户余额", scale = 2)
private BigDecimal account7;
/**
* 复购券账户
*/
@Excel(name = "复购券余额")
@BigDecimalFormat
@Excel(name = "复购券余额", scale = 2)
private BigDecimal account8;
/**
* 隶属体系
*/
@ -146,7 +147,6 @@ public class CuMemberUmbrellaBalanceVO implements Serializable {
*/
@Transaction(transactionKey = EnumsPrefixConstants.KEY_AWARD)
private Integer pkAwards;
/**
* 奖衔
*/
@ -154,8 +154,5 @@ public class CuMemberUmbrellaBalanceVO implements Serializable {
private Integer pkCountry;
}

View File

@ -1,6 +1,7 @@
package com.hzs.report.member.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.BigDecimalFormat;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
@ -10,7 +11,6 @@ import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 伞下直推VO
*/
@ -45,13 +45,11 @@ public class UmbrellaBelowPushVO {
@Excel(name = "注册等级")
private String pkRegisterGradeVal;
/**
* 真实奖衔
*/
@Transaction(transactionKey = EnumsPrefixConstants.KEY_AWARD)
private Integer pkAwards;
@Excel(name = "真实奖衔")
private String pkAwardsVal;
@ -92,7 +90,8 @@ public class UmbrellaBelowPushVO {
/**
* 订单实际业绩
*/
@Excel(name = "消费PV")
@BigDecimalFormat
@Excel(name = "消费业绩(PV)")
private BigDecimal orderAchieve;
/**

View File

@ -5,9 +5,6 @@ import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod;
/**
* 会员结算期间 Mapper 接口
*
* @author hzs
* @since 2022-10-26
*/
public interface CuMemberSettlePeriodMapper extends BaseMapper<CuMemberSettlePeriod> {

View File

@ -5,9 +5,6 @@ import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod;
/**
* 会员结算期间 服务类
*
* @author hzs
* @since 2022-10-26
*/
public interface ICuMemberSettlePeriodService extends IService<CuMemberSettlePeriod> {
@ -15,9 +12,6 @@ public interface ICuMemberSettlePeriodService extends IService<CuMemberSettlePer
* 根据日期获得日期对应的期间
*
* @param date 日期 2023-02-02
* @return: CuMemberSettlePeriod
* @Author: sui q
* @Date: 2022/11/2 13:32
*/
CuMemberSettlePeriod getCuMemberSettlePeriodByDate(String date);

View File

@ -14,9 +14,6 @@ import org.springframework.transaction.annotation.Transactional;
/**
* 会员结算期间 服务实现类
*
* @author hzs
* @since 2022-10-26
*/
@Service
public class CuMemberSettlePeriodServiceImpl extends ServiceImpl<CuMemberSettlePeriodMapper, CuMemberSettlePeriod> implements ICuMemberSettlePeriodService {

View File

@ -274,8 +274,8 @@
cm.MEMBER_CODE memberCode,
cm.MEMBER_NAME memberName,
cm.PHONE phone,
aw.PK_TRANSACTION as pkAwards,
bg.PK_TRANSACTION as pkRegisterGrade,
aw.awards_name as pkAwardsVal,
bg.grade_name as pkRegisterGradeVal,
ver.VERTEX_NAME as vertexName,
ct.TEAM_NAME as teamName,
cma.CREATION_TIME creationTime,
@ -288,12 +288,12 @@
left join bd_vertex ver on cm.pk_vertex = ver.pk_id
LEFT JOIN cu_member_team ct ON ct.pk_id = cm.pk_team_code
LEFT JOIN BD_COUNTRY bc on bc.PK_ID=cm.PK_SETTLE_COUNTRY
where cma.DEL_FLAG=0 and
cm.DEL_FLAG=0 and
aw.DEL_FLAG=0 and
bc.DEL_FLAG=0 and
bg.DEL_FLAG=0 and
cm.PK_SETTLE_COUNTRY=#{pkCountry}
where cma.DEL_FLAG = 0
and cm.DEL_FLAG = 0
and aw.DEL_FLAG = 0
and bc.DEL_FLAG = 0
and bg.DEL_FLAG = 0
and cm.PK_SETTLE_COUNTRY = #{pkCountry}
<if test="memberCode != null and memberCode !='' ">
AND cm.MEMBER_CODE like #{memberCode} || '%'
</if>
@ -342,12 +342,12 @@
cmat.REP_A_SUM_PV repASumPv,
cmat.REP_B_SUM_PV repBSumPv
FROM CU_MEMBER_AWARDS cma
left join ${item.achieveTableName} cmat on cma.PK_MEMBER=cmat.PK_MEMBER
where cma.DEL_FLAG=0
and cma.PK_MEMBER=#{item.pkMember}
and cma.period=#{item.period}
left join ${item.achieveTableName} cmat
on cma.PK_MEMBER = cmat.PK_MEMBER
where cma.DEL_FLAG = 0
and cma.PK_MEMBER = #{item.pkMember}
and cma.period = #{item.period}
</foreach>
</select>
<!-- 真实奖衔分析详情(穿透页面接口)-->

View File

@ -2,38 +2,35 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hzs.report.member.mapper.MemberMapper">
<!-- 查询伞下账户余额-->
<select id="selectUmbrellaLowerBalance"
resultType="com.hzs.report.member.vo.CuMemberUmbrellaBalanceVO">
<select id="selectUmbrellaLowerBalance" resultType="com.hzs.report.member.vo.CuMemberUmbrellaBalanceVO">
select cm.pk_id pkId,
cm.member_code memberCode,
cm.member_name memberName,
cm.phone,
aw.PK_TRANSACTION as pkAwards,
aw.awards_name as pkAwardsVal,
ver.VERTEX_NAME as vertexName,
ct.TEAM_NAME as teamName,
cmac.account2,
cmac.LOCK_ACCOUNT2 lockAccount2,
cmac.account4,
cmac.LOCK_ACCOUNT4 lockAccount4,
cmac.WITHDRAW_ACCOUNT4 withdrawAccount4,
cmac.account1,
cmac.account3,
cmac.account5,
cmac.account6,
cmac.account7,
cmac.account8,
cmac.WITHDRAW_ACCOUNT4 withdrawAccount4
cmac.account8
from cu_member cm
LEFT JOIN BD_AWARDS aw on aw.pk_ID=cm.PK_AWARDS
LEFT JOIN BD_AWARDS aw on aw.pk_ID = cm.PK_AWARDS
left join bd_vertex ver on cm.pk_vertex = ver.pk_id
and ver.del_flag = 0
LEFT JOIN cu_member_team ct ON ct.pk_id = cm.pk_team_code
left join CU_MEMBER_ACCOUNT cmac on cmac.PK_MEMBER=cm.pk_id
where cm.del_flag = 0 and cmac.del_flag = 0
<if test="pkCountry != null">
AND cm.PK_SETTLE_COUNTRY=#{pkCountry}
AND cm.PK_SETTLE_COUNTRY = #{pkCountry}
</if>
<if test="memberName != null and memberName !='' ">
AND cm.MEMBER_NAME like #{memberName} || '%'
@ -42,19 +39,18 @@
AND cm.phone like #{phone} || '%'
</if>
<if test="pkAwards != null">
AND cm.PK_AWARDS=#{pkAwards}
AND cm.PK_AWARDS = #{pkAwards}
</if>
<if test="pkVertex != null">
AND cm.pk_vertex=#{pkVertex}
AND cm.pk_vertex = #{pkVertex}
</if>
<if test="pkTeamCode != null">
AND cm.pk_team_code=#{pkTeamCode}
AND cm.pk_team_code = #{pkTeamCode}
</if>
start
with cm.pk_id = #{pkId}
connect by cm.PK_PARENT = prior cm.pk_id
order by level
</select>
<select id="queryPlaceParentHisCuMemberAchieveExt" resultType="com.hzs.common.domain.member.achieve.ext.CuMemberAchieveExt">
@ -358,7 +354,6 @@
order by a.algebra
</select>
<!--统计分析-伞下直推-->
<select id="queryUmbrellaBelowPush" resultType="com.hzs.report.member.vo.UmbrellaBelowPushVO">
select
@ -366,8 +361,8 @@
cm.member_code memberCode,
cm.member_name memberName,
cm.phone,
gr.PK_TRANSACTION as pkRegisterGrade,
awa.PK_TRANSACTION as pkAwards,
gr.grade_name pkRegisterGradeVal,
awa.awards_name pkAwardsVal,
par.member_code parMemberCode,
par.member_name parMemberName,
place.member_code placeMemberCode,
@ -381,9 +376,13 @@
INNER JOIN cu_member par ON par.pk_id = cm.pk_parent
INNER JOIN cu_member place ON place.pk_id = cm.pk_place_parent
left join bd_awards awa on awa.pk_id= cm.PK_AWARDS
left join bd_grade gr on gr.pk_id=cm.PK_REGISTER_GRADE
where cm.del_flag = 0 and ver.del_flag = 0 and par.del_flag = 0 and place.del_flag = 0
and awa.del_flag = 0 and gr.del_flag = 0
left join bd_grade gr on gr.pk_id = cm.PK_REGISTER_GRADE
where cm.del_flag = 0
and ver.del_flag = 0
and par.del_flag = 0
and place.del_flag = 0
and awa.del_flag = 0
and gr.del_flag = 0
<if test="pkRegisterGrade != null">
and cm.PK_REGISTER_GRADE = #{pkRegisterGrade}
</if>
@ -405,7 +404,6 @@
<if test="parMemberName != null and parMemberName!=''">
and par.member_name like #{parMemberName} || '%'
</if>
<if test="phone != null and phone!=''">
and cm.phone like #{phone} || '%'
</if>
@ -437,37 +435,4 @@
</if>
</select>
<!-- 统计分析-伞下直推会员信息-->
<select id="queryUmbrellaBelowInfo" parameterType="com.hzs.report.member.vo.UmbrellaBelowPushVO"
resultType="com.hzs.report.member.vo.UmbrellaBelowPushVO">
SELECT
cm.PK_ID pkId,
cm.member_code memberCode,
cm.member_name memberName,
cm.phone,
gr.PK_TRANSACTION as pkRegisterGrade,
awa.PK_TRANSACTION as pkAwards,
par.member_code parMemberCode,
par.member_name parMemberName,
place.member_code placeMemberCode,
place.member_name placeMemberName,
cm.CREATION_TIME creationTime,
ver.VERTEX_NAME as vertexName,
ct.TEAM_NAME as teamName
FROM
cu_member cm
left join bd_vertex ver on cm.pk_vertex = ver.pk_id
LEFT JOIN cu_member_team ct ON ct.pk_id = cm.pk_team_code
INNER JOIN cu_member par ON par.pk_id = cm.pk_parent
INNER JOIN cu_member place ON place.pk_id = cm.pk_place_parent
left join bd_awards awa on awa.pk_id= cm.PK_AWARDS
left join bd_grade gr on gr.pk_id=cm.PK_REGISTER_GRADE
WHERE
cm.del_flag = 0
<if test="pkId != null">
and cm.pk_Id=#{pkId}
</if>
</select>
</mapper>

View File

@ -12,12 +12,7 @@ import lombok.*;
import lombok.experimental.Accessors;
/**
* <p>
* 会员结算期间
* </p>
*
* @author hzs
* @since 2022-10-26
*/
@Data
@Accessors(chain = true)

View File

@ -15,9 +15,6 @@ import lombok.experimental.Accessors;
/**
* 会员信息-等级升级记录
*
* @author hzs
* @since 2022-10-11
*/
@Data
@EqualsAndHashCode(callSuper = false)