diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java index 9c52cf9da..499738466 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java @@ -301,26 +301,25 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity grantAwardsItem = awardsItem; } } - if(grantAwardsItem == null){ - continue; + if(grantAwardsItem != null){ + //计算返现金额 + BigDecimal cashBackPrice = wxOfflineActivityGrantAward.getOrderMoneySum() + .multiply(grantAwardsItem.getCashBackRatio().divide(new BigDecimal(100))); + cashBackPriceTotal = cashBackPriceTotal.add(cashBackPrice); } - //计算返现金额 - BigDecimal cashBackPrice = wxOfflineActivityGrantAward.getOrderMoneySum() - .multiply(grantAwardsItem.getCashBackRatio().divide(new BigDecimal(100))); - cashBackPriceTotal = cashBackPriceTotal.add(cashBackPrice); + } if(activityItem.getActivityAwardsItemSecondList() != null && !activityItem.getActivityAwardsItemSecondList().isEmpty()){ List merchantIds = wxOfflineActivityGrantAward.getRecordList().stream().map(WxOfflineActivityRecord::getMerchantId).distinct().collect(toList()); Map collect = activityItem.getActivityAwardsItemSecondList().stream().collect(toMap(WxOfflineActivityAwardsItem::getMerchantCount, Function.identity())); WxOfflineActivityAwardsItem grantAwardsSecondItem = collect.get(merchantIds.size()); - if(grantAwardsSecondItem == null){ - continue; + if(grantAwardsSecondItem != null){ + //计算返现金额 + BigDecimal cashBackPrice = wxOfflineActivityGrantAward.getOrderMoneySum() + .multiply(grantAwardsSecondItem.getCashBackRatio().divide(new BigDecimal(100))); + cashBackPriceTotal = cashBackPriceTotal.add(cashBackPrice); } - //计算返现金额 - BigDecimal cashBackPrice = wxOfflineActivityGrantAward.getOrderMoneySum() - .multiply(grantAwardsSecondItem.getCashBackRatio().divide(new BigDecimal(100))); - cashBackPriceTotal = cashBackPriceTotal.add(cashBackPrice); } if(cashBackPriceTotal.compareTo(activityItem.getMaxAmount()) >= 0){ @@ -605,22 +604,21 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity grantAwardsItem = awardsItem; } } - if(grantAwardsItem == null){ - continue; - } + if(grantAwardsItem != null){ + WxOfflineActivityGrantItem grantGrantItem = new WxOfflineActivityGrantItem(); + grantGrantItem.setRecordId(record.getId()); + //计算返现金额 + BigDecimal cashBackPrice = record.getOrderMoney() + .multiply(grantAwardsItem.getCashBackRatio().divide(new BigDecimal(100))); - WxOfflineActivityGrantItem grantGrantItem = new WxOfflineActivityGrantItem(); - grantGrantItem.setRecordId(record.getId()); - //计算返现金额 - BigDecimal cashBackPrice = record.getOrderMoney() - .multiply(grantAwardsItem.getCashBackRatio().divide(new BigDecimal(100))); + grantAwardsItem.setPrice(cashBackPrice); + handlerGrantItem(grantGrantItem,activity,activityItem,grantAwardsItem); - grantAwardsItem.setPrice(cashBackPrice); - handlerGrantItem(grantGrantItem,activity,activityItem,grantAwardsItem); + grantItemList.add(grantGrantItem); - grantItemList.add(grantGrantItem); + cashBackPriceTotal = cashBackPriceTotal.add(cashBackPrice); + } - cashBackPriceTotal = cashBackPriceTotal.add(cashBackPrice); } }else{ @@ -631,36 +629,36 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity grantAwardsItem = awardsItem; } } - if(grantAwardsItem == null){ - continue; + if(grantAwardsItem != null){ + WxOfflineActivityGrantItem grantGrantItem = new WxOfflineActivityGrantItem(); + //计算返现金额 + BigDecimal cashBackPrice = wxOfflineActivityGrantAward.getOrderMoneySum() + .multiply(grantAwardsItem.getCashBackRatio().divide(new BigDecimal(100))); + grantAwardsItem.setPrice(cashBackPrice); + handlerGrantItem(grantGrantItem,activity,activityItem,grantAwardsItem); + + grantItemList.add(grantGrantItem); + cashBackPriceTotal = cashBackPriceTotal.add(cashBackPrice); } - WxOfflineActivityGrantItem grantGrantItem = new WxOfflineActivityGrantItem(); - //计算返现金额 - BigDecimal cashBackPrice = wxOfflineActivityGrantAward.getOrderMoneySum() - .multiply(grantAwardsItem.getCashBackRatio().divide(new BigDecimal(100))); - grantAwardsItem.setPrice(cashBackPrice); - handlerGrantItem(grantGrantItem,activity,activityItem,grantAwardsItem); - - grantItemList.add(grantGrantItem); - cashBackPriceTotal = cashBackPriceTotal.add(cashBackPrice); + } if(activityItem.getActivityAwardsItemSecondList() != null && !activityItem.getActivityAwardsItemSecondList().isEmpty()){ List merchantIds = wxOfflineActivityGrantAward.getRecordList().stream().map(WxOfflineActivityRecord::getMerchantId).distinct().collect(toList()); Map collect = activityItem.getActivityAwardsItemSecondList().stream().collect(toMap(WxOfflineActivityAwardsItem::getMerchantCount, Function.identity())); WxOfflineActivityAwardsItem grantAwardsSecondItem = collect.get(merchantIds.size()); - if(grantAwardsSecondItem == null){ - continue; + if(grantAwardsSecondItem != null){ + WxOfflineActivityGrantItem grantGrantItem = new WxOfflineActivityGrantItem(); + //计算返现金额 + BigDecimal cashBackPrice = wxOfflineActivityGrantAward.getOrderMoneySum() + .multiply(grantAwardsSecondItem.getCashBackRatio().divide(new BigDecimal(100))); + grantAwardsSecondItem.setPrice(cashBackPrice); + handlerGrantItem(grantGrantItem,activity,activityItem,grantAwardsSecondItem); + + grantItemList.add(grantGrantItem); + cashBackPriceTotal = cashBackPriceTotal.add(cashBackPrice); } - WxOfflineActivityGrantItem grantGrantItem = new WxOfflineActivityGrantItem(); - //计算返现金额 - BigDecimal cashBackPrice = wxOfflineActivityGrantAward.getOrderMoneySum() - .multiply(grantAwardsSecondItem.getCashBackRatio().divide(new BigDecimal(100))); - grantAwardsSecondItem.setPrice(cashBackPrice); - handlerGrantItem(grantGrantItem,activity,activityItem,grantAwardsSecondItem); - - grantItemList.add(grantGrantItem); - cashBackPriceTotal = cashBackPriceTotal.add(cashBackPrice); + } BigDecimal prop = BigDecimal.ONE;