From a331c3be6000d3c81f88e0a564e2db63da99018b Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Wed, 21 May 2025 10:33:42 +0800 Subject: [PATCH] feat(score): 初始化积分设置页面的默认值 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiSaleServiceImpl.java | 59 ++++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 44 insertions(+), 15 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..2f8b711 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; @@ -36,6 +39,8 @@ private final HappyMemberLevelMapper happyMemberLevelMapper; private final MallAchieveRecordMapper mallAchieveRecordMapper; private final MallMemberWalletMapper mallMemberWalletMapper; + private final MallMemberMapper mallMemberMapper; + private final DataDictionaryCustomMapper dataDictionaryCustomMapper; @Override public FebsResponse saleInfo() { ApiSaleInfoVo apiSaleInfoVo = new ApiSaleInfoVo(); @@ -62,18 +67,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 +158,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,7 +172,16 @@ 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()); + 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); }); } @@ -288,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