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 2abcc252a..9c52cf9da 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java @@ -348,8 +348,9 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity activityGrantCashBack.setTaxPoints(activityItem.getTaxPoints()); activityGrantCashBack.setCashBackPrice(cashBackPriceTotal); activityGrantCashBack.setTaxPointsAmount(BigDecimal.ZERO); - if(activityGrantCashBack.getCashBackPrice().compareTo(activityGrantCashBack.getStartingTaxPoint()) > 0){ - activityGrantCashBack.setTaxPointsAmount(activityGrantCashBack.getCashBackPrice().subtract(activityGrantCashBack.getTaxPoints()) + if(activityGrantCashBack.getStartingTaxPoint() != null && activityGrantCashBack.getCashBackPrice().compareTo(activityGrantCashBack.getStartingTaxPoint()) > 0 + && activityGrantCashBack.getTaxPoints() != null){ + activityGrantCashBack.setTaxPointsAmount(activityGrantCashBack.getCashBackPrice().multiply(activityGrantCashBack.getTaxPoints()) .divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)); } activityItem.setActivityGrantCashBack(activityGrantCashBack); @@ -700,8 +701,9 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity activityGrantCashBack.setTaxPoints(activityItem.getTaxPoints()); activityGrantCashBack.setCashBackPrice(cashBackPriceTotal); activityGrantCashBack.setTaxPointsAmount(BigDecimal.ZERO); - if(activityGrantCashBack.getCashBackPrice().compareTo(activityGrantCashBack.getStartingTaxPoint()) > 0){ - activityGrantCashBack.setTaxPointsAmount(activityGrantCashBack.getCashBackPrice().subtract(activityGrantCashBack.getTaxPoints()) + if(activityGrantCashBack.getStartingTaxPoint() != null && activityGrantCashBack.getCashBackPrice().compareTo(activityGrantCashBack.getStartingTaxPoint()) > 0 + && activityGrantCashBack.getTaxPoints() != null){ + activityGrantCashBack.setTaxPointsAmount(activityGrantCashBack.getCashBackPrice().multiply(activityGrantCashBack.getTaxPoints()) .divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)); } grantActivityItem.setActivityGrantCashBack(activityGrantCashBack);