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