Commit 7f3e5385a912b200fe89de64912e47045e4827ca
1 parent
f53a1f59
feature(*): 展示占比字段
展示占比字段
Showing
4 changed files
with
16 additions
and
7 deletions
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
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 | //指标原始值 | ... | ... |