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 +++++++++++++++++
 src/main/java/cc/mrbird/febs/mall/vo/sale/ApiLevelListInfoVo.java      |   18 ++++++++++++------
 2 files changed, 29 insertions(+), 6 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);
             });
         }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/sale/ApiLevelListInfoVo.java b/src/main/java/cc/mrbird/febs/mall/vo/sale/ApiLevelListInfoVo.java
index 52966b4..54e7dd4 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/sale/ApiLevelListInfoVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/sale/ApiLevelListInfoVo.java
@@ -21,12 +21,18 @@
     private String content;
     @ApiModelProperty(value = "推广中心")
     private String headerPng;
-//    @ApiModelProperty(value = "直推人数")
-//    private Integer directCnt;
-//    @ApiModelProperty(value = "团队人数")
-//    private Integer teamCnt;
-//    @ApiModelProperty(value = "团队业绩")
-//    private BigDecimal teamAmount;
+    @ApiModelProperty(value = "直推人数")
+    private Integer directCnt;
+    @ApiModelProperty(value = "当前直推人数")
+    private Integer directCntNow;
+    @ApiModelProperty(value = "团队人数")
+    private Integer teamCnt;
+    @ApiModelProperty(value = "当前团队人数")
+    private Integer teamCntNow;
+    @ApiModelProperty(value = "团队业绩")
+    private BigDecimal teamAmount;
+    @ApiModelProperty(value = "当前团队业绩")
+    private BigDecimal teamAmountNow;
 //    @ApiModelProperty(value = "返佣比例:团队成员下单,点击确认收货后,返还支付金额乘以返佣比例=团队业绩")
 //    private BigDecimal returnPercent;
 

--
Gitblit v1.9.1