diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoCashBackGrantAwardServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoCashBackGrantAwardServiceImpl.java index 1b9ac735d..20af1dc29 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoCashBackGrantAwardServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoCashBackGrantAwardServiceImpl.java @@ -131,18 +131,20 @@ public class WxVtwoCashBackGrantAwardServiceImpl extends ServiceImpl= 0){ prop = cashBackActivity.getCashBackLimit().divide(cashBackTotal,4, RoundingMode.HALF_UP); } - BigDecimal realCashBackTotal = BigDecimal.ZERO; + if(prop.compareTo(BigDecimal.ONE) < 0){ for (WxVtwoCashBackGrantAward grantAward:grantAwardList){ grantAward.setCashBack(awardsRulePrice(grantAward.getCashBack().multiply(prop),cashBackActivity.getCashBackRule())); } } + BigDecimal realCashBackTotal = grantAwardList.stream().map(WxVtwoCashBackGrantAward::getCashBack).reduce(BigDecimal.ZERO, BigDecimal::add); + activityGrant.setCashBackLimit(cashBackActivity.getCashBackLimit()); + activityGrant.setCashBack(realCashBackTotal); if(EnumOfflineActivityMode.ONE.getCode().equals(cashBackActivity.getAmountModel())){ //单独算税点 BigDecimal taxAmount = BigDecimal.ZERO; for (WxVtwoCashBackGrantAward grantAward:grantAwardList){ - realCashBackTotal = realCashBackTotal.add(grantAward.getCashBack()); grantAward.setTaxDeductionRules(cashBackActivity.getTaxDeductionRules()); grantAward.setTaxAmount(BigDecimal.ZERO); WxVtwoActivityTaxDeductionRule taxDeductionRulesObject = cashBackActivity.getTaxDeductionRulesObject(); @@ -165,13 +167,11 @@ public class WxVtwoCashBackGrantAwardServiceImpl extends ServiceImpl