From 5fea0979a485fde02e3a76d6d3786f4182c9c9e2 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Wed, 21 May 2025 14:47:48 +0800
Subject: [PATCH] fix(mall): 修正团队累计消费金额的计算逻辑

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiSaleServiceImpl.java |   27 ++++++++++++++++++++-------
 1 files changed, 20 insertions(+), 7 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 0a6e6bc..4bc6271 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
@@ -1,7 +1,9 @@
 package cc.mrbird.febs.mall.service.impl;
 
 import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
 import cc.mrbird.febs.common.utils.LoginUserUtil;
+import cc.mrbird.febs.mall.dto.ScoreSettingDto;
 import cc.mrbird.febs.mall.dto.sale.ApiSaleListInfoDto;
 import cc.mrbird.febs.mall.dto.sale.ApiSaleRecordInfoDto;
 import cc.mrbird.febs.mall.dto.sale.ApiTeamListInfoDto;
@@ -15,6 +17,7 @@
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -37,6 +40,7 @@
     private final MallAchieveRecordMapper mallAchieveRecordMapper;
     private final MallMemberWalletMapper mallMemberWalletMapper;
     private final MallMemberMapper mallMemberMapper;
+    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
     @Override
     public FebsResponse saleInfo() {
         ApiSaleInfoVo apiSaleInfoVo = new ApiSaleInfoVo();
@@ -168,7 +172,7 @@
                 apiLevelListInfoVo.setMemberCode(mallMember.getStoreMaster());
                 apiLevelListInfoVo.setCode(happySaleLevel.getCode());
                 apiLevelListInfoVo.setContent(happySaleLevel.getContent());
-                apiLevelListInfoVo.setHeaderPng(happySaleLevel.getIconPng());
+                apiLevelListInfoVo.setHeaderPng(happySaleLevel.getHeaderPng());
                 apiLevelListInfoVo.setTeamCnt(happySaleLevel.getTeamCnt());
                 apiLevelListInfoVo.setTeamCntNow(CollUtil.isNotEmpty(teamMembers) ? teamMembers.size() : 0);
                 apiLevelListInfoVo.setDirectCnt(happySaleLevel.getDirectCnt());
@@ -176,7 +180,7 @@
                 apiLevelListInfoVo.setTeamAmount(happySaleLevel.getTeamAmount());
                 apiLevelListInfoVo.setTeamAmountNow(
                         CollUtil.isNotEmpty(mallAchieveRecords)
-                                ? mallAchieveRecords.stream().map(MallAchieveRecord::getCostAmount).reduce(BigDecimal.ZERO, BigDecimal::add)
+                                ? mallAchieveRecords.stream().map(MallAchieveRecord::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add)
                                 : BigDecimal.ZERO);
                 apiLevelListInfoVos.add(apiLevelListInfoVo);
             });
@@ -304,17 +308,26 @@
         Map<Integer, HappyMemberLevel> happyMemberLevelMap = happyMemberLevels.stream()
                 .collect(Collectors.toMap(HappyMemberLevel::getCode, happyMemberLevel -> happyMemberLevel));
         if (CollUtil.isNotEmpty(happyMemberLevels)) {
-            happyMemberLevels.forEach(happyMemberLevel -> {
+            int mostSignIn = 1;
+            DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                    DataDictionaryEnum.SCORE_SIGN_SETTING.getType(),
+                    DataDictionaryEnum.SCORE_SIGN_SETTING.getCode());
+            if (dic != null) {
+                ScoreSettingDto scoreSettingDto = JSONObject.parseObject(dic.getValue(), ScoreSettingDto.class);
+                mostSignIn = ObjectUtil.isEmpty(scoreSettingDto.getMostSignIn()) ? 1 : scoreSettingDto.getMostSignIn();
+            }
+            for (HappyMemberLevel happyMemberLevel : happyMemberLevels) {
                 ApiMemberLevelListInfoVo vo = new ApiMemberLevelListInfoVo();
                 BeanUtil.copyProperties(happyMemberLevel, vo);
+                vo.setMostSignIn(mostSignIn);
                 vo.setMemberCode(mallMember.getDirector());
                 vo.setMemberScore(mallMemberWallet.getScore());
                 vo.setUpgradeScore(
-                        ObjectUtil.isEmpty(happyMemberLevelMap.get(happyMemberLevel.getCode() + 1)) ?
-                                 0 : happyMemberLevelMap.get(happyMemberLevel.getCode() + 1).getUpgradeScore()
-            );
+                        ObjectUtil.isEmpty(happyMemberLevelMap.get(happyMemberLevel.getCode())) ?
+                                0 : happyMemberLevelMap.get(happyMemberLevel.getCode()).getUpgradeScore()
+                );
                 apiLevelListInfoVos.add(vo);
-            });
+            }
         }
         return new FebsResponse().success().data(apiLevelListInfoVos);
     }

--
Gitblit v1.9.1