Commit 7f3e5385a912b200fe89de64912e47045e4827ca

Authored by 姜超
1 parent f53a1f59

feature(*): 展示占比字段

展示占比字段
fw-morax-domain/src/main/java/cn/fw/morax/domain/db/eval/EvalGroupRewardHitLog.java
... ... @@ -56,6 +56,10 @@ public class EvalGroupRewardHitLog extends BaseAuditableTimeEntity<EvalGroupRewa
56 56 */
57 57 private BigDecimal hitCommissionValue;
58 58 /**
  59 + * 占比
  60 + */
  61 + private BigDecimal proportionValue;
  62 + /**
59 63 * 数据日期
60 64 */
61 65 private LocalDate dataDate;
... ...
fw-morax-domain/src/main/java/cn/fw/morax/domain/vo/eval/EvalPoolRewardDetailVO.java
... ... @@ -105,6 +105,10 @@ public class EvalPoolRewardDetailVO {
105 105 * 命中的提成指标值
106 106 */
107 107 private BigDecimal hitCommissionValue;
  108 + /**
  109 + * 占比
  110 + */
  111 + private BigDecimal proportionValue;
108 112  
109 113 /**
110 114 * 台阶参数别名
... ...
fw-morax-service/src/main/java/cn/fw/morax/service/biz/calculator/eval/reward/EvalRewardProportionCalculator.java
... ... @@ -89,12 +89,12 @@ public class EvalRewardProportionCalculator extends EvalRewardBaseCalculator {
89 89 }
90 90  
91 91 for (EvalGroupUserShop userShop : userShops) {
92   - BigDecimal indicatorValue = referValueMap.getOrDefault(userShop.getPoolId(), BigDecimal.ZERO);
  92 + BigDecimal commissionValue = referValueMap.getOrDefault(userShop.getPoolId(), BigDecimal.ZERO);
93 93  
94 94 BigDecimal proportion = BigDecimal.ZERO;
95 95 BigDecimal rewardValue = BigDecimal.ZERO;
96 96 if (totalCommissionValue.compareTo(BigDecimal.ZERO) > 0) {
97   - proportion = indicatorValue.divide(totalCommissionValue, 4, RoundingMode.HALF_UP);
  97 + proportion = commissionValue.divide(totalCommissionValue, 4, RoundingMode.HALF_UP);
98 98 rewardValue = proportion.multiply(money).divide(BigDecimal.ONE, 2, RoundingMode.HALF_UP);
99 99 }
100 100  
... ... @@ -104,13 +104,10 @@ public class EvalRewardProportionCalculator extends EvalRewardBaseCalculator {
104 104 BigDecimal finalProportion = proportion;
105 105 saveProjectHitLog(evalGroupRewardId, userShop, log -> {
106 106 log.setRewardValue(finalRewardValue);
107   - log.setHitCommissionValue(finalProportion);
  107 + log.setProportionValue(finalProportion);
  108 + log.setHitCommissionValue(commissionValue);
108 109 });
109 110 }
110 111 }
111 112  
112   - public static void main(String[] args) {
113   - System.out.println(BigDecimal.ZERO.divide(BigDecimal.ONE, 2, RoundingMode.HALF_UP));
114   - System.out.println(BigDecimal.ONE.divide(BigDecimal.ZERO, 2, RoundingMode.HALF_UP));
115   - }
116 113 }
... ...
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalGroupPoolService.java
... ... @@ -575,6 +575,7 @@ public class EvalGroupPoolService {
575 575 Optional<EvalGroupRewardHitLog> hitLog = this.getRewardHitLog(evalGroupRewardId, evalPoolId, scopeType, dataDate);
576 576 reward.setHitLadderValue(hitLog.map(EvalGroupRewardHitLog::getHitLadderValue).orElse(BigDecimal.ZERO));
577 577 reward.setHitCommissionValue(hitLog.map(EvalGroupRewardHitLog::getHitCommissionValue).orElse(BigDecimal.ZERO));
  578 + reward.setProportionValue(hitLog.map(EvalGroupRewardHitLog::getProportionValue).orElse(BigDecimal.ZERO));
578 579 Long hitLadderId = hitLog.map(EvalGroupRewardHitLog::getEvalGroupRewardLaddersId).orElse(0L);
579 580  
580 581 //参数
... ... @@ -709,6 +710,9 @@ public class EvalGroupPoolService {
709 710 }
710 711  
711 712 public void processRewardPercent(EvalPoolRewardDetailVO detail) {
  713 + if (PublicUtil.isNotEmpty(detail.getProportionValue())) {
  714 + detail.setProportionValue(detail.getProportionValue().multiply(Constant.ONE_HUNDRED));
  715 + }
712 716 //提成
713 717 for (EvalGroupRewardParamVO paramVO : Optional.ofNullable(detail.getCommissionParams()).orElse(new ArrayList<>())) {
714 718 //指标原始值
... ...