From d3e9f57c91ffc08e090bf8d4b8fcbf60f0d3a86f Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Mon, 19 May 2025 17:45:15 +0800 Subject: [PATCH] feat(mall): 添加会员等级当前进度相关数据 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiSaleServiceImpl.java | 34 +++++++++++++++++++++++++--------- 1 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiSaleServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiSaleServiceImpl.java index e031858..0a6e6bc 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiSaleServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiSaleServiceImpl.java @@ -36,6 +36,7 @@ private final HappyMemberLevelMapper happyMemberLevelMapper; private final MallAchieveRecordMapper mallAchieveRecordMapper; private final MallMemberWalletMapper mallMemberWalletMapper; + private final MallMemberMapper mallMemberMapper; @Override public FebsResponse saleInfo() { ApiSaleInfoVo apiSaleInfoVo = new ApiSaleInfoVo(); @@ -62,18 +63,17 @@ new LambdaQueryWrapper<MallAchieveRecord>() .eq(MallAchieveRecord::getMemberId, id) ); - if (CollUtil.isNotEmpty(mallAchieveRecords)) { - apiSaleInfoVo.setTotalSaleAmount( - CollUtil.isNotEmpty(mallAchieveRecords) - ? mallAchieveRecords.stream().map(MallAchieveRecord::getCostAmount).reduce(BigDecimal.ZERO, BigDecimal::add) - : BigDecimal.ZERO); - apiSaleInfoVo.setOrderCnt(CollUtil.isNotEmpty(mallAchieveRecords) ? mallAchieveRecords.size() : 0); - } + apiSaleInfoVo.setTotalSaleAmount( + CollUtil.isNotEmpty(mallAchieveRecords) + ? mallAchieveRecords.stream().map(MallAchieveRecord::getCostAmount).reduce(BigDecimal.ZERO, BigDecimal::add) + : BigDecimal.ZERO); + apiSaleInfoVo.setOrderCnt(CollUtil.isNotEmpty(mallAchieveRecords) ? mallAchieveRecords.size() : 0); - List<MallMember> mallMembers = this.baseMapper.selectAllChildAgentListByInviteId(mallMember.getInviteId()); + List<MallMember> mallMembers = this.baseMapper.selectByRefererId(mallMember.getInviteId()); apiSaleInfoVo.setTotalCnt(CollUtil.isNotEmpty(mallMembers) ? mallMembers.size() : 0); - // todo 提现部分暂无 + MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(id); + apiSaleInfoVo.setAvaAmount(mallMemberWallet.getCommission()); return new FebsResponse().success().data(apiSaleInfoVo); } @@ -154,6 +154,13 @@ new LambdaQueryWrapper<HappySaleLevel>() .orderByAsc(HappySaleLevel::getCode) ); + + List<MallMember> directMembers = mallMemberMapper.selectByRefererId(mallMember.getInviteId()); + List<MallMember> teamMembers = mallMemberMapper.selectAllChildAgentListByInviteId(mallMember.getInviteId()); + List<MallAchieveRecord> mallAchieveRecords = mallAchieveRecordMapper.selectList( + new LambdaQueryWrapper<MallAchieveRecord>() + .eq(MallAchieveRecord::getMemberId, memberId) + ); if (CollUtil.isNotEmpty(happySaleLevels)) { happySaleLevels.forEach(happySaleLevel -> { ApiLevelListInfoVo apiLevelListInfoVo = new ApiLevelListInfoVo(); @@ -162,6 +169,15 @@ apiLevelListInfoVo.setCode(happySaleLevel.getCode()); apiLevelListInfoVo.setContent(happySaleLevel.getContent()); apiLevelListInfoVo.setHeaderPng(happySaleLevel.getIconPng()); + apiLevelListInfoVo.setTeamCnt(happySaleLevel.getTeamCnt()); + apiLevelListInfoVo.setTeamCntNow(CollUtil.isNotEmpty(teamMembers) ? teamMembers.size() : 0); + apiLevelListInfoVo.setDirectCnt(happySaleLevel.getDirectCnt()); + apiLevelListInfoVo.setDirectCntNow(CollUtil.isNotEmpty(directMembers) ? directMembers.size() : 0); + apiLevelListInfoVo.setTeamAmount(happySaleLevel.getTeamAmount()); + apiLevelListInfoVo.setTeamAmountNow( + CollUtil.isNotEmpty(mallAchieveRecords) + ? mallAchieveRecords.stream().map(MallAchieveRecord::getCostAmount).reduce(BigDecimal.ZERO, BigDecimal::add) + : BigDecimal.ZERO); apiLevelListInfoVos.add(apiLevelListInfoVo); }); } -- Gitblit v1.9.1