|
|
|
@@ -240,8 +240,25 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity |
|
|
|
activityItem.setActivityGrantItemList(Collections.singletonList(grantItem)); |
|
|
|
} |
|
|
|
else if (EnumOfflineActivityType.CASHBACK.getCode().equals(activityItem.getType())) { |
|
|
|
if(wxOfflineActivityGrantAward.getOrderMoneySum().compareTo(activityItem.getLimitMoney()) < 0){ |
|
|
|
activityItem.setIsMeet(false); |
|
|
|
continue; |
|
|
|
} |
|
|
|
activityItem.setIsMeet(true); |
|
|
|
activityItem.setRealAwardsItemLimit(1); |
|
|
|
for (WxOfflineActivityAwardsItem awardsItem : activityItem.getActivityAwardsItemList()) { |
|
|
|
//计算返现金额 |
|
|
|
BigDecimal cashBackPrice = wxOfflineActivityGrantAward.getOrderMoneySum() |
|
|
|
.multiply(awardsItem.getCashBackRatio().divide(new BigDecimal(100))); |
|
|
|
if(EnumOfflineActivityAwardsRule.DEF.getCode().equals(activityItem.getAwardsItemRule())){ |
|
|
|
awardsItem.setPrice(cashBackPrice.setScale(2, BigDecimal.ROUND_HALF_UP)); |
|
|
|
} else if (EnumOfflineActivityAwardsRule.YUAN.getCode().equals(activityItem.getAwardsItemRule())) { |
|
|
|
awardsItem.setPrice(cashBackPrice.setScale(0, BigDecimal.ROUND_HALF_UP)); |
|
|
|
}else if (EnumOfflineActivityAwardsRule.TEN.getCode().equals(activityItem.getAwardsItemRule())){ |
|
|
|
BigDecimal cashBackPriceTen = cashBackPrice.divide(new BigDecimal(10)).setScale(0, BigDecimal.ROUND_HALF_UP); |
|
|
|
awardsItem.setPrice(cashBackPriceTen.multiply(new BigDecimal(10))); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|