diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberAchieveServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberAchieveServiceImpl.java index 41daaa2c..56621bd8 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberAchieveServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberAchieveServiceImpl.java @@ -352,8 +352,19 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl awardsList = iAwardsServiceApi.queryAwards(pkCountry).getData(); + // 当前会员奖衔 + BdAwards bdAwards = awardsList.stream() + .filter(tmp -> tmp.getPkId().equals(cuMember.getPkAwards())) + .findFirst().get(); + if (bdAwards.getAwardsValue() < EAwards.CHAIRMAN.getValue()) { + // 不是最后三级,需要显示业绩 + // 大于当前奖衔的列表 + BdAwards nextBdAwards = awardsList.stream() + .filter(tmp -> tmp.getAwardsValue() > bdAwards.getAwardsValue()) + .min(Comparator.comparingInt(BdAwards::getAwardsValue)).get(); + resultVO.setTarAwardsName(nextBdAwards.getAwardsName()); + + if (resultVO.getASumRealPv().compareTo(resultVO.getBSumRealPv()) <= 0) { + // 左区 小于等于 右区,左区为小区 + resultVO.setTargetPv(nextBdAwards.getCommunityCheck().subtract(resultVO.getASumRealPv()).divide(big10000, 2, BigDecimal.ROUND_FLOOR)); + } else { + // 右区为小区 + resultVO.setTargetPv(nextBdAwards.getCommunityCheck().subtract(resultVO.getBSumRealPv()).divide(big10000, 2, BigDecimal.ROUND_FLOOR)); + } + } + + resultVO.setASumPv(resultVO.getASumPv().divide(big10000, 2, BigDecimal.ROUND_FLOOR)); + resultVO.setBSumPv(resultVO.getBSumPv().divide(big10000, 2, BigDecimal.ROUND_FLOOR)); + resultVO.setASumRealPv(resultVO.getASumRealPv().divide(big10000, 2, BigDecimal.ROUND_FLOOR)); + resultVO.setBSumRealPv(resultVO.getBSumRealPv().divide(big10000, 2, BigDecimal.ROUND_FLOOR)); + return resultVO; } /** diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/vo/MemberAwardsNewVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/vo/MemberAwardsNewVO.java new file mode 100644 index 00000000..7efffcde --- /dev/null +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/vo/MemberAwardsNewVO.java @@ -0,0 +1,57 @@ +package com.hzs.member.achieve.vo; + +import com.hzs.common.core.annotation.BigDecimalFormat; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +public class MemberAwardsNewVO implements Serializable { + + /** + * A区新增业绩 -- 昨日业绩 + */ + @BigDecimalFormat + private BigDecimal aNewPv; + /** + * B区新增业绩 -- 昨日业绩 + */ + @BigDecimalFormat + private BigDecimal bNewPv; + + /** + * A区当月业绩 + */ + @BigDecimalFormat + private BigDecimal aMonthPv; + /** + * B区当月业绩 + */ + @BigDecimalFormat + private BigDecimal bMonthPv; + + /** + * A区累计业绩 -- 历史业绩 + */ + @BigDecimalFormat + private BigDecimal aSumPv; + /** + * B区累计业绩 -- 历史业绩 + */ + @BigDecimalFormat + private BigDecimal bSumPv; + + /** + * 目标业绩 + */ + @BigDecimalFormat() + private BigDecimal targetPv; + + /** + * 目标奖衔名称 + */ + private String tarAwardsName; + + +} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/api/ApiHomePageController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/api/ApiHomePageController.java index c324f174..881b6098 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/api/ApiHomePageController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/api/ApiHomePageController.java @@ -1,5 +1,6 @@ package com.hzs.member.base.controller.api; +import cn.hutool.core.bean.BeanUtil; import com.hzs.common.core.config.BdConfig; import com.hzs.common.core.enums.EAwards; import com.hzs.common.core.enums.EEnv; @@ -11,6 +12,7 @@ import com.hzs.common.security.utils.SecurityUtils; import com.hzs.member.achieve.service.ICuMemberAchieveService; import com.hzs.member.achieve.vo.CuMemberAwardsUnderVO; import com.hzs.member.achieve.vo.CuMemberNewAddAchieveVO; +import com.hzs.member.achieve.vo.MemberAwardsNewVO; import com.hzs.member.base.dto.MemberYearAwardsDTO; import com.hzs.member.base.service.ICuMemberService; import lombok.extern.slf4j.Slf4j; @@ -67,7 +69,8 @@ public class ApiHomePageController { */ @GetMapping("/index-member-awards") public AjaxResult selectMemberAwards() { - return AjaxResult.success(cuMemberAchieveService.indexMemberAwards(SecurityUtils.getUserId(), SecurityUtils.getPkCountry())); + CuMemberAwardsUnderVO resultVO = cuMemberAchieveService.indexMemberAwards(SecurityUtils.getUserId(), SecurityUtils.getPkCountry()); + return AjaxResult.success(BeanUtil.copyProperties(resultVO, MemberAwardsNewVO.class)); } /** diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberTreeMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberTreeMapper.xml index 0ea844fd..c7641843 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberTreeMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberTreeMapper.xml @@ -623,6 +623,8 @@ cms.pk_member, cms.a_sum_pv, cms.b_sum_pv, + cms.a_sum_real_pv, + cms.b_sum_real_pv, cms.a_new_pv + cms.rep_a_new_pv a_new_pv, cms.b_new_pv + cms.rep_b_new_pv b_new_pv from ${settleTable} cms