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 | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 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 024498c..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(); @@ -153,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(); @@ -161,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