Przeglądaj źródła

//OfflineActivity

release_toaliyun_real
xiaohu 1 rok temu
rodzic
commit
7b9f2d197f
2 zmienionych plików z 14 dodań i 9 usunięć
  1. +9
    -6
      mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java
  2. +5
    -3
      mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantSettlementServiceImpl.java

+ 9
- 6
mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java Wyświetl plik

@@ -260,11 +260,12 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
BigDecimal cashBackPrice = wxOfflineActivityGrantAward.getOrderMoneySum() BigDecimal cashBackPrice = wxOfflineActivityGrantAward.getOrderMoneySum()
.multiply(awardsItem.getCashBackRatio().divide(new BigDecimal(100))); .multiply(awardsItem.getCashBackRatio().divide(new BigDecimal(100)));
if(EnumOfflineActivityAwardsRule.DEF.getCode().equals(activityItem.getAwardsItemRule())){ if(EnumOfflineActivityAwardsRule.DEF.getCode().equals(activityItem.getAwardsItemRule())){
awardsItem.setPrice(cashBackPrice.setScale(2, BigDecimal.ROUND_HALF_UP));
awardsItem.setPrice(cashBackPrice.setScale(2, RoundingMode.HALF_UP));
} else if (EnumOfflineActivityAwardsRule.YUAN.getCode().equals(activityItem.getAwardsItemRule())) { } else if (EnumOfflineActivityAwardsRule.YUAN.getCode().equals(activityItem.getAwardsItemRule())) {
awardsItem.setPrice(cashBackPrice.setScale(0, BigDecimal.ROUND_HALF_UP));
awardsItem.setPrice(cashBackPrice.setScale(0, RoundingMode.HALF_UP));
}else if (EnumOfflineActivityAwardsRule.TEN.getCode().equals(activityItem.getAwardsItemRule())){ }else if (EnumOfflineActivityAwardsRule.TEN.getCode().equals(activityItem.getAwardsItemRule())){
BigDecimal cashBackPriceTen = cashBackPrice.divide(new BigDecimal(10)).setScale(0, BigDecimal.ROUND_HALF_UP);
BigDecimal cashBackPriceTen = cashBackPrice.divide(new BigDecimal(10))
.setScale(0, RoundingMode.HALF_UP);
awardsItem.setPrice(cashBackPriceTen.multiply(new BigDecimal(10))); awardsItem.setPrice(cashBackPriceTen.multiply(new BigDecimal(10)));
} }
} }
@@ -281,7 +282,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
for(WxOfflineActivityAwardsItem awardsItem : awardsItemList){ for(WxOfflineActivityAwardsItem awardsItem : awardsItemList){
awardsItem.setMallSharePrice(awardsItem.getPrice() awardsItem.setMallSharePrice(awardsItem.getPrice()
.multiply(awardsItem.getMallShareRate().divide(new BigDecimal(100))) .multiply(awardsItem.getMallShareRate().divide(new BigDecimal(100)))
.setScale(0, RoundingMode.HALF_UP));
.setScale(2, RoundingMode.HALF_UP));
awardsItem.setMerchantSharePrice(awardsItem.getPrice().subtract(awardsItem.getMallSharePrice())); awardsItem.setMerchantSharePrice(awardsItem.getPrice().subtract(awardsItem.getMallSharePrice()));
} }
} }
@@ -492,7 +493,9 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
grantGrantItem.setAwardMaxAmount(awardsItem.getMaxAmount()); grantGrantItem.setAwardMaxAmount(awardsItem.getMaxAmount());
grantGrantItem.setAwardsItemRule(activityItem.getAwardsItemRule()); grantGrantItem.setAwardsItemRule(activityItem.getAwardsItemRule());
grantGrantItem.setCashBackRatio(awardsItem.getCashBackRatio()); grantGrantItem.setCashBackRatio(awardsItem.getCashBackRatio());
grantGrantItem.setAwardPrice(awardsItem.getPrice().multiply(new BigDecimal(grantGrantItem.getAwardCount())).setScale(2, RoundingMode.HALF_UP));
grantGrantItem.setAwardPrice(awardsItem.getPrice()
.multiply(new BigDecimal(grantGrantItem.getAwardCount()))
.setScale(2, RoundingMode.HALF_UP));
grantGrantItem.setMoneyRule(awardsItem.getMoneyRule()); grantGrantItem.setMoneyRule(awardsItem.getMoneyRule());
grantGrantItem.setMallShareRate(awardsItem.getMallShareRate()); grantGrantItem.setMallShareRate(awardsItem.getMallShareRate());
grantGrantItem.setMerchantShareRate(awardsItem.getMerchantShareRate()); grantGrantItem.setMerchantShareRate(awardsItem.getMerchantShareRate());
@@ -581,7 +584,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
for (WxOfflineActivityGrantItem grantItem : grantActivityItemList) { for (WxOfflineActivityGrantItem grantItem : grantActivityItemList) {
grantItem.setMallSharePrice(grantItem.getAwardPrice() grantItem.setMallSharePrice(grantItem.getAwardPrice()
.multiply(grantItem.getMallShareRate().divide(new BigDecimal(100))) .multiply(grantItem.getMallShareRate().divide(new BigDecimal(100)))
.setScale(0, RoundingMode.HALF_UP));
.setScale(2, RoundingMode.HALF_UP));
grantItem.setMerchantSharePrice(grantItem.getAwardPrice().subtract(grantItem.getMallSharePrice())); grantItem.setMerchantSharePrice(grantItem.getAwardPrice().subtract(grantItem.getMallSharePrice()));
} }
activityItem.setIsMeet(true); activityItem.setIsMeet(true);


+ 5
- 3
mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantSettlementServiceImpl.java Wyświetl plik

@@ -103,11 +103,13 @@ public class WxOfflineActivityGrantSettlementServiceImpl implements WxOfflineAct
BigDecimal lastGrantPrice = wxOfflineActivityGrantItem.getAwardPrice(); BigDecimal lastGrantPrice = wxOfflineActivityGrantItem.getAwardPrice();
for (int i = 0; i < itemSize; i++) { for (int i = 0; i < itemSize; i++) {
WxOfflineActivityGrantSettlement settlement = itemSettlementList.get(i); WxOfflineActivityGrantSettlement settlement = itemSettlementList.get(i);
BigDecimal realGrantPrice = wxOfflineActivityGrantItem.getAwardPrice().multiply(settlement.getOrderRatio().divide(new BigDecimal(100))).setScale(0, RoundingMode.HALF_UP);
BigDecimal realGrantPrice = wxOfflineActivityGrantItem.getAwardPrice()
.multiply(settlement.getOrderRatio().divide(new BigDecimal(100)))
.setScale(2, RoundingMode.HALF_UP);
settlement.setRealGrantPrice(realGrantPrice); settlement.setRealGrantPrice(realGrantPrice);
settlement.setRealMallSharePrice(settlement.getRealGrantPrice() settlement.setRealMallSharePrice(settlement.getRealGrantPrice()
.multiply(settlement.getMallShareRate().divide(new BigDecimal(100))) .multiply(settlement.getMallShareRate().divide(new BigDecimal(100)))
.setScale(0, RoundingMode.HALF_UP));
.setScale(2, RoundingMode.HALF_UP));
settlement.setRealMerchantSharePrice(settlement.getRealGrantPrice().subtract(settlement.getRealMallSharePrice())); settlement.setRealMerchantSharePrice(settlement.getRealGrantPrice().subtract(settlement.getRealMallSharePrice()));


lastGrantPrice = lastGrantPrice.subtract(realGrantPrice); lastGrantPrice = lastGrantPrice.subtract(realGrantPrice);
@@ -116,7 +118,7 @@ public class WxOfflineActivityGrantSettlementServiceImpl implements WxOfflineAct
lastSettlement.setRealGrantPrice(lastGrantPrice); lastSettlement.setRealGrantPrice(lastGrantPrice);
lastSettlement.setRealMallSharePrice(lastSettlement.getRealGrantPrice() lastSettlement.setRealMallSharePrice(lastSettlement.getRealGrantPrice()
.multiply(lastSettlement.getMallShareRate().divide(new BigDecimal(100))) .multiply(lastSettlement.getMallShareRate().divide(new BigDecimal(100)))
.setScale(0, RoundingMode.HALF_UP));
.setScale(2, RoundingMode.HALF_UP));
lastSettlement.setRealMerchantSharePrice(lastSettlement.getRealGrantPrice().subtract(lastSettlement.getRealMallSharePrice())); lastSettlement.setRealMerchantSharePrice(lastSettlement.getRealGrantPrice().subtract(lastSettlement.getRealMallSharePrice()));


settlementList.addAll(itemSettlementList); settlementList.addAll(itemSettlementList);


Ładowanie…
Anuluj
Zapisz