From 3cad4bcbee7c796aed5141c29af6d274bbd3d60e Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 14 Jan 2025 10:35:45 +0800
Subject: [PATCH] refactor(mall): 修改团队列表中团队成员和余额的统计方式
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 50 insertions(+), 6 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index af1c944..5cf9638 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -297,6 +297,7 @@
mallMemberVo.setWithdrawState(runVip.getWithdrawState());
mallMemberVo.setInsideState(runVip.getInsideState());
mallMemberVo.setCommissionState(runVip.getCommissionState());
+ mallMemberVo.setGrowState(runVip.getGrowState());
MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(mallMemberVo.getId());
@@ -463,11 +464,19 @@
myTeamVo.setMyTeamBalance(getTeamBalance(mallMembers).getMyTeamBalance());
myTeamVo.setMyTeamCommission(getTeamBalance(mallMembers).getMyTeamCommission());
+ List<MallMember> mallMembersAll = this.baseMapper.selectAllChildAgentListByInviteId(mallMember.getInviteId());
+ if(CollUtil.isNotEmpty(mallMembersAll)){
+ myTeamVo.setMyTeamCntAll(mallMembersAll.size());
+ myTeamVo.setMyTeamBalanceAll(getTeamBalance(mallMembersAll).getMyTeamBalance());
+ myTeamVo.setMyTeamCommissionAll(getTeamBalance(mallMembersAll).getMyTeamCommission());
+ }
+
List<TeamListVo> teamListVos = MallMemberConversion.INSTANCE.entityToTeamListVos(mallMembers);
teamListVos.forEach(item -> {
item.setMyBalance(mallMemberWalletMapper.selectWalletByMemberId(item.getId()).getBalance());
item.setLevelName(runVipMapper.selectOne(new LambdaQueryWrapper<RunVip>().eq(RunVip::getVipCode,item.getLevel())).getVipName());
- List<MallMember> mallMemberRefs = this.baseMapper.selectByRefererId(item.getInviteId());
+// List<MallMember> mallMemberRefs = this.baseMapper.selectByRefererId(item.getInviteId());
+ List<MallMember> mallMemberRefs = this.baseMapper.selectAllChildAgentListByInviteId(item.getInviteId());
if(CollUtil.isEmpty(mallMemberRefs)){
item.setMyTeamCnt(0);
item.setMyTeamBalance(BigDecimal.ZERO);
@@ -1723,6 +1732,8 @@
* 1:日榜 2:月榜
* 获取当前日期
*/
+
+ List<ApiChartVo> apiChartVos = new ArrayList<>();
LambdaQueryWrapper<MallMoneyFlow> mallMoneyFlowLambdaQueryWrapper = new LambdaQueryWrapper<>();
if(apiRecordDto.getType() == 1){
DateTime dateTime = DateUtil.beginOfDay(DateUtil.date());
@@ -1731,15 +1742,26 @@
DateTime dateTime = DateUtil.beginOfMonth(DateUtil.date());
mallMoneyFlowLambdaQueryWrapper.ge(MallMoneyFlow :: getCreatedTime , dateTime);
}
+ List<MallMember> mallMembers = this.baseMapper.selectList(
+ new LambdaQueryWrapper<MallMember>()
+ .select(MallMember::getId)
+ );
+ if(CollUtil.isEmpty(mallMembers)){
+ return apiChartVos;
+ }
+ //获取mallMembers的全部id
+ List<Long> ids = mallMembers.stream().map(MallMember::getId).collect(Collectors.toList());
mallMoneyFlowLambdaQueryWrapper.eq(MallMoneyFlow :: getFlowType, FlowTypeEnum.SCORE.getValue());
mallMoneyFlowLambdaQueryWrapper.in(
MallMoneyFlow :: getType,
RunVipMoneyFlowTypeEnum.GET_SCORE.getValue(),
RunVipMoneyFlowTypeEnum.SYS_SCORE.getValue()
);
+ mallMoneyFlowLambdaQueryWrapper.in(
+ MallMoneyFlow :: getMemberId,
+ ids
+ );
List<MallMoneyFlow> mallMoneyFlows = mallMoneyFlowMapper.selectList(mallMoneyFlowLambdaQueryWrapper);
-
- List<ApiChartVo> apiChartVos = new ArrayList<>();
if(CollUtil.isEmpty(mallMoneyFlows)){
return apiChartVos;
}
@@ -1757,16 +1779,38 @@
// 对 Map 按照 amount 的绝对值之和从大到小排序,并取前十个结果
List<Map.Entry<Long, BigDecimal>> sortedList = sumByMemberId.entrySet().stream()
.sorted((entry1, entry2) -> entry2.getValue().compareTo(entry1.getValue()))
- .limit(10)
+ .limit(20)
.collect(Collectors.toList());
- sortedList.forEach(entry -> {
+
+ for (Map.Entry<Long, BigDecimal> entry : sortedList){
+ if(apiChartVos.size() >= 10){
+ break;
+ }
ApiChartVo apiChartVo = new ApiChartVo();
MallMember mallMember = this.baseMapper.selectById(entry.getKey());
+ if(null == mallMember){
+ continue;
+ }
+
apiChartVo.setName(hidePhoneNumber(mallMember.getName()));
apiChartVo.setAvatar(mallMember.getAvatar());
apiChartVo.setScore(entry.getValue());
apiChartVos.add(apiChartVo);
- });
+ }
+// sortedList.forEach(entry -> {
+// ApiChartVo apiChartVo = new ApiChartVo();
+// MallMember mallMember = this.baseMapper.selectById(entry.getKey());
+// if(null == mallMember){
+// apiChartVo.setName(hidePhoneNumber("runStep"));
+// apiChartVo.setAvatar(null);
+// apiChartVo.setScore(entry.getValue());
+// }else{
+// apiChartVo.setName(hidePhoneNumber(mallMember.getName()));
+// apiChartVo.setAvatar(mallMember.getAvatar());
+// apiChartVo.setScore(entry.getValue());
+// }
+// apiChartVos.add(apiChartVo);
+// });
return apiChartVos;
}
--
Gitblit v1.9.1