## 首页添加距下奖衔数据差多少;

This commit is contained in:
cabbage 2025-05-08 09:28:06 +08:00
parent 4a833aae55
commit c1f479fb36
4 changed files with 112 additions and 19 deletions

View File

@ -352,8 +352,19 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
}
}
BigDecimal big10000 = new BigDecimal("10000");
// 当日新増PV
CuMemberAwardsUnderVO todayPv = iCuMemberTreeService.queryMemberTodayPv(pkMember);
// 返回显示VO
CuMemberAwardsUnderVO resultVO = CuMemberAwardsUnderVO.builder()
.aNewPv(BigDecimal.ZERO)
.bNewPv(BigDecimal.ZERO)
.aMonthPv(todayPv.getANewPv())
.bMonthPv(todayPv.getBNewPv())
.aSumPv(BigDecimal.ZERO)
.bSumPv(BigDecimal.ZERO)
.build();
if (hasSettle) {
// 昨日业绩 -- 昨日结算表
@ -371,27 +382,47 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
// 查询会员首页业绩显示
CuMemberAwardsUnderVO awardsUnderVO = iCuMemberTreeService.queryMemberPv(settleTable, pkMember, monthTable);
if (null != awardsUnderVO) {
BigDecimal big10000 = new BigDecimal("10000");
return CuMemberAwardsUnderVO.builder()
.aNewPv(null != awardsUnderVO.getANewPv() ? awardsUnderVO.getANewPv().divide(big10000, 2, BigDecimal.ROUND_FLOOR) : BigDecimal.ZERO)
.bNewPv(null != awardsUnderVO.getBNewPv() ? awardsUnderVO.getBNewPv().divide(big10000, 2, BigDecimal.ROUND_FLOOR) : BigDecimal.ZERO)
.aMonthPv(null != awardsUnderVO.getAMonthPv() ? todayPv.getANewPv().add(awardsUnderVO.getAMonthPv()).divide(big10000, 2, BigDecimal.ROUND_FLOOR) : todayPv.getANewPv())
.bMonthPv(null != awardsUnderVO.getBMonthPv() ? todayPv.getBNewPv().add(awardsUnderVO.getBMonthPv()).divide(big10000, 2, BigDecimal.ROUND_FLOOR) : todayPv.getBNewPv())
.aSumPv(null != awardsUnderVO.getASumPv() ? awardsUnderVO.getASumPv().divide(big10000, 2, BigDecimal.ROUND_FLOOR) : BigDecimal.ZERO)
.bSumPv(null != awardsUnderVO.getBSumPv() ? awardsUnderVO.getBSumPv().divide(big10000, 2, BigDecimal.ROUND_FLOOR) : BigDecimal.ZERO)
.build();
resultVO.setANewPv(null != awardsUnderVO.getANewPv() ? awardsUnderVO.getANewPv().divide(big10000, 2, BigDecimal.ROUND_FLOOR) : BigDecimal.ZERO);
resultVO.setBNewPv(null != awardsUnderVO.getBNewPv() ? awardsUnderVO.getBNewPv().divide(big10000, 2, BigDecimal.ROUND_FLOOR) : BigDecimal.ZERO);
resultVO.setAMonthPv(null != awardsUnderVO.getAMonthPv() ? todayPv.getANewPv().add(awardsUnderVO.getAMonthPv()).divide(big10000, 2, BigDecimal.ROUND_FLOOR) : todayPv.getANewPv());
resultVO.setBMonthPv(null != awardsUnderVO.getBMonthPv() ? todayPv.getBNewPv().add(awardsUnderVO.getBMonthPv()).divide(big10000, 2, BigDecimal.ROUND_FLOOR) : todayPv.getBNewPv());
resultVO.setASumPv(null != awardsUnderVO.getASumPv() ? awardsUnderVO.getASumPv() : BigDecimal.ZERO);
resultVO.setBSumPv(null != awardsUnderVO.getBSumPv() ? awardsUnderVO.getBSumPv() : BigDecimal.ZERO);
resultVO.setASumRealPv(null != awardsUnderVO.getASumRealPv() ? awardsUnderVO.getASumRealPv() : BigDecimal.ZERO);
resultVO.setBSumRealPv(null != awardsUnderVO.getBSumRealPv() ? awardsUnderVO.getBSumRealPv() : BigDecimal.ZERO);
}
}
return CuMemberAwardsUnderVO.builder()
.aNewPv(BigDecimal.ZERO)
.bNewPv(BigDecimal.ZERO)
.aMonthPv(todayPv.getANewPv())
.bMonthPv(todayPv.getBNewPv())
.aSumPv(BigDecimal.ZERO)
.bSumPv(BigDecimal.ZERO)
.build();
// 当前会员
CuMember cuMember = iCuMemberService.getMember(pkMember);
//根据国家获取奖衔配置信息
List<BdAwards> 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;
}
/**

View File

@ -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;
}

View File

@ -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));
}
/**

View File

@ -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