From ee8b4074d1322387f224fca5ab7006c47ebeddcc Mon Sep 17 00:00:00 2001 From: xiaohu <1901900812@qq.com> Date: Mon, 12 Aug 2024 18:43:01 +0800 Subject: [PATCH] //OfflineActivity --- .../WxOfflineActivityGrantItemServiceImpl.java | 3 ++- ...OfflineActivityGrantSettlementServiceImpl.java | 15 +++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantItemServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantItemServiceImpl.java index 2445e11ab..7b889b2dc 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantItemServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantItemServiceImpl.java @@ -45,7 +45,8 @@ public class WxOfflineActivityGrantItemServiceImpl implements WxOfflineActivityG grantGrantItem.setCreateDate(now); grantGrantItem.setUpdateDate(now); if(EnumOfflineActivityType.CASHBACK.getCode().equals(grantGrantItem.getActivityItemType())){ - BigDecimal awardPrice = new BigDecimal(wxOfflineActivityGrantAward.getOrderMoneySum()).multiply(grantGrantItem.getCashBackRatio()); + BigDecimal awardPrice = new BigDecimal(wxOfflineActivityGrantAward.getOrderMoneySum()) + .multiply(grantGrantItem.getCashBackRatio().divide(new BigDecimal(100))); if(EnumOfflineActivityAwardsRule.DEF.getCode().equals(grantGrantItem.getAwardsItemRule())){ grantGrantItem.setAwardPrice(awardPrice.setScale(0, BigDecimal.ROUND_HALF_UP).intValue()); } else if (EnumOfflineActivityAwardsRule.YUAN.getCode().equals(grantGrantItem.getAwardsItemRule())) { diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantSettlementServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantSettlementServiceImpl.java index 92c1c5d88..1af3ff51a 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantSettlementServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantSettlementServiceImpl.java @@ -58,10 +58,13 @@ public class WxOfflineActivityGrantSettlementServiceImpl implements WxOfflineAct //获取订单占比(占比最少的订单用减法,尽量减少误差) List recordDescList = wxOfflineActivityGrantAward.getRecordList().stream().sorted(Comparator.comparingInt(WxOfflineActivityRecord::getOrderMoney).reversed()).collect(Collectors.toList()); int size = recordDescList.size() - 1; - BigDecimal lastRatio = BigDecimal.ONE; + BigDecimal lastRatio = new BigDecimal(100); for(int i=0; i