From 74315c8cc145e30c33f2c2b3fd9074c446e6699c Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Mon, 03 Mar 2025 15:38:46 +0800 Subject: [PATCH] feat(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