Browse Source

优惠分摊

zhijiezhao 3 years ago
parent
commit
4d1adad7aa

+ 4 - 3
src/main/java/com/caimei365/order/service/impl/SubmitServiceImpl.java

@@ -555,7 +555,7 @@ public class SubmitServiceImpl implements SubmitService {
                             product.setSvipDiscount(1 == svipProductPo.getSvipPriceType() ? svipProductPo.getSvipDiscount() : 0.00d);
                         }
                     }
-                    // 有促销活动
+                    // 有单品优惠价促销活动
                     else if (null != promotions || null != shopPromotions) {
                         // 是否包含活动商品(受订单未支付自动关闭时间影响)  0 否 1 是
                         hasActProductFlag = true;
@@ -1076,6 +1076,7 @@ public class SubmitServiceImpl implements SubmitService {
         /*
          * 整理 子订单信息cm_shop_order
          */
+        //todo
         if (onlinePay) {
             //线上支付分摊优惠总和到子订单
             //经理折扣+优惠券+满减 提交订单的时候无经理折扣
@@ -1084,7 +1085,7 @@ public class SubmitServiceImpl implements SubmitService {
             AtomicDouble oldBrokerage = new AtomicDouble(0);
             //超级会员价/复购价/阶梯价/促销活动冲突,只能生效一个,促销活动满减计入优惠分摊,子订单售价=NeedPayAmount+promotionFullReduction
             shopOrderList.forEach(orderShopPo -> {
-                // 店铺满减会存入shoporder信息中,凑单满减
+                // 单品满减和店铺满减会存入shoporder信息中
                 if (null != orderShopPo.getPromotionFullReduction() && orderShopPo.getPromotionFullReduction() > 0) {
                     //不含分摊优惠的子订单金额
                     orderShopPo.setOldPrice(MathUtil.add(orderShopPo.getNeedPayAmount(), orderShopPo.getPromotionFullReduction()).doubleValue());
@@ -1094,7 +1095,7 @@ public class SubmitServiceImpl implements SubmitService {
                     orderShopPo.setOldPrice(orderShopPo.getNeedPayAmount());
                     orderShopPo.setOldBrokerage(orderShopPo.getBrokerage());
                 }
-                oldBrokerage.set(MathUtil.add(oldBrokerage, orderShopPo.getOldBrokerage()).doubleValue());
+                oldBrokerage.set(MathUtil.add(oldBrokerage.get(), orderShopPo.getOldBrokerage()).doubleValue());
             });
             // 按分摊前的佣金排序
             shopOrderList.sort((o1, o2) -> o2.getOldBrokerage().compareTo(o1.getOldBrokerage()));