Browse Source

svip商品购买

Aslee 3 years ago
parent
commit
fc4949559b

+ 8 - 0
src/main/java/com/caimei365/order/components/OrderCommonService.java

@@ -91,6 +91,14 @@ public class OrderCommonService {
                         orderProduct.setProductPromotion(promotions);
                     }
                 }
+                // 超级会员优惠商品设置优惠标签
+                if (1 == orderProduct.getSvipProductFlag()) {
+                    if (1 == orderProduct.getSvipPriceType()) {
+                        orderProduct.setSvipPriceTag(MathUtil.div(orderProduct.getSvipDiscount(), 10, 1) + "折");
+                    } else if (2 == orderProduct.getSvipPriceType()){
+                        orderProduct.setSvipPriceTag("¥" + orderProduct.getDiscountPrice());
+                    }
+                }
             });
             shopOrder.setOrderProductList(orderProductList);
             shopOrder.setShopLogo(ImageUtil.getImageUrl("shopLogo", shopOrder.getShopLogo(), domain));

+ 5 - 5
src/main/java/com/caimei365/order/components/ProductService.java

@@ -359,27 +359,27 @@ public class ProductService {
      */
     public void setSvipProductPrice(CartItemVo cartItemVo, boolean taxFlag, boolean svipUserFlag) {
         Integer svipPriceType = cartItemVo.getSvipPriceType();
-        BigDecimal discountPrice = BigDecimal.ZERO;
+        Double discountPrice = 0d;
         if (1 == svipPriceType) {
             // 折扣价
             cartItemVo.setSvipPriceTag(MathUtil.div(cartItemVo.getSvipDiscount(), 10, 1) + "折");
             // 设置折扣价(原价格已计算税费,无需重复计算)
-            discountPrice = MathUtil.div(MathUtil.mul(cartItemVo.getPrice(), cartItemVo.getSvipDiscount()), 100, 2);
+            discountPrice = MathUtil.div(MathUtil.mul(cartItemVo.getPrice(), cartItemVo.getSvipDiscount()), 100, 2).doubleValue();
         } else if (2 == svipPriceType) {
             // 直接优惠价
             discountPrice = cartItemVo.getSvipDiscountPrice();
             if (taxFlag) {
                 //添加税费
                 BigDecimal thisTaxFee = MathUtil.div(MathUtil.mul(discountPrice, cartItemVo.getTaxRate()), 100, 2);
-                discountPrice = MathUtil.add(discountPrice, thisTaxFee).setScale(2, BigDecimal.ROUND_HALF_UP);
+                discountPrice = MathUtil.add(discountPrice, thisTaxFee).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
             }
             cartItemVo.setSvipPriceTag("¥" + discountPrice);
         }
         if (svipUserFlag) {
             // 超级会员设置优惠价
-            cartItemVo.setPrice(discountPrice.doubleValue());
+            cartItemVo.setPrice(discountPrice);
             // 设置优惠金额=(商品原价-折扣价)*商品数量
-            cartItemVo.setSvipTotalReducedPrice(MathUtil.mul(MathUtil.sub(cartItemVo.getOriginalPrice(), discountPrice), cartItemVo.getNumber()));
+            cartItemVo.setSvipTotalReducedPrice(MathUtil.mul(MathUtil.sub(cartItemVo.getOriginalPrice(), discountPrice), cartItemVo.getNumber()).doubleValue());
         }
     }
 }

+ 4 - 0
src/main/java/com/caimei365/order/model/po/OrderPo.java

@@ -126,6 +126,10 @@ public class OrderPo implements Serializable {
      * 促销满减优惠
      */
     private Double promotionFullReduction;
+    /**
+     * 超级会员优惠
+     */
+    private Double svipFullReduction;
     /**
      * 二手商品订单标识  0非二手商品订单、 1二手商品订单
      */

+ 13 - 1
src/main/java/com/caimei365/order/model/po/OrderProductPo.java

@@ -4,6 +4,7 @@ import com.caimei365.order.model.vo.LadderPriceVo;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -207,5 +208,16 @@ public class OrderProductPo implements Serializable {
      * 订单促销id
      */
     private Integer orderPromotionsId;
-
+    /**
+     * 超级会员优惠商品标识:0不是,1是
+     */
+    private Integer svipProductFlag;
+    /**
+     * 超级会员优惠价类型:1折扣价,2直接优惠价
+     */
+    private Integer svipPriceType;
+    /**
+     * 超级会员折扣
+     */
+    private Double svipDiscount;
 }

+ 4 - 1
src/main/java/com/caimei365/order/model/po/OrderShopPo.java

@@ -61,7 +61,10 @@ public class OrderShopPo implements Serializable {
      * 促销满减优惠(店铺促销)
      */
     private Double promotionFullReduction;
-
+    /**
+     * 超级会员优惠
+     */
+    private Double svipShopReduction;
     /**
      * 佣金 =  应付采美
      */

+ 2 - 2
src/main/java/com/caimei365/order/model/po/SvipProductPo.java

@@ -25,9 +25,9 @@ public class SvipProductPo implements Serializable {
     /**
      * 超级会员折扣
      */
-    private BigDecimal svipDiscount;
+    private Double svipDiscount;
     /**
      * 超级会员优惠价
      */
-    private BigDecimal svipDiscountPrice;
+    private Double svipDiscountPrice;
 }

+ 3 - 3
src/main/java/com/caimei365/order/model/vo/CartItemVo.java

@@ -134,11 +134,11 @@ public class CartItemVo implements Serializable {
     /**
      * 超级会员折扣
      */
-    private BigDecimal svipDiscount;
+    private Double svipDiscount;
     /**
      * 超级会员优惠价
      */
-    private BigDecimal svipDiscountPrice;
+    private Double svipDiscountPrice;
     /**
      * 超级会员价格标签
      */
@@ -146,5 +146,5 @@ public class CartItemVo implements Serializable {
     /**
      * 购物车该商品总优惠金额
      */
-    private BigDecimal svipTotalReducedPrice;
+    private Double svipTotalReducedPrice;
 }

+ 17 - 0
src/main/java/com/caimei365/order/model/vo/OrderProductVo.java

@@ -3,6 +3,7 @@ package com.caimei365.order.model.vo;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 
 /**
  * Description
@@ -227,4 +228,20 @@ public class OrderProductVo implements Serializable {
      * 商品前台展示单价是否含税,1不含税,2含税,3其他
      */
     private Integer includedTaxFlag;
+    /**
+     * 超级会员优惠商品标识:0不是,1是
+     */
+    private Integer svipProductFlag;
+    /**
+     * 超级会员优惠价类型:1折扣价,2直接优惠价
+     */
+    private Integer svipPriceType;
+    /**
+     * 超级会员折扣
+     */
+    private Double svipDiscount;
+    /**
+     * 超级会员价格标签
+     */
+    private String svipPriceTag;
 }

+ 8 - 0
src/main/java/com/caimei365/order/model/vo/OrderVo.java

@@ -38,6 +38,10 @@ public class OrderVo implements Serializable {
      * 机构名称(协销订单列表用)
      */
     private String clubName;
+    /**
+     * 超级会员标识,1是,不是
+     */
+    private Integer svipUserFlag;
     /**
      * 下单人Id(协销Id,或运营人Id,或用户Id)
      */
@@ -127,6 +131,10 @@ public class OrderVo implements Serializable {
      * 促销满减优惠
      */
     private Double promotionFullReduction;
+    /**
+     * 超级会员优惠
+     */
+    private Double svipFullReduction;
     /**
      * 二手商品订单标识  0非二手商品订单、 1二手商品订单
      */

+ 4 - 0
src/main/java/com/caimei365/order/model/vo/ShopOrderVo.java

@@ -66,6 +66,10 @@ public class ShopOrderVo implements Serializable {
      * 促销满减优惠(店铺促销)
      */
     private Double promotionFullReduction;
+    /**
+     * 超级会员优惠
+     */
+    private Double svipShopReduction;
     /**
      * (付款供应商)付款状态:1待付款、2部分付款、3已付款
      */

+ 11 - 8
src/main/java/com/caimei365/order/service/impl/CartClubServiceImpl.java

@@ -98,8 +98,8 @@ public class CartClubServiceImpl implements CartClubService {
                 // 该供应商总价
                 AtomicDouble shopPrice = new AtomicDouble(0);
                 // 该供应商下可参与店铺促销的商品总价
-                AtomicDouble shopPromotionPrice = new AtomicDouble(0);
-                // 该供应商满减金额(供应商满减,单品满减)
+                AtomicDouble shopPromotionFee = new AtomicDouble(0);
+                // 该供应商满减金额(svip优惠,供应商满减,单品满减)
                 AtomicDouble shopReducedPrice = new AtomicDouble(0);
                 // 供应商促销优惠活动
                 PromotionsVo shopPromotion = baseMapper.getPromotionByShopId(shop.getShopId());
@@ -187,7 +187,7 @@ public class CartClubServiceImpl implements CartClubService {
                             // 该供应商下可参与店铺促销的商品价格累加
                             if (!(1 == cartItemVo.getSvipProductFlag() && svipUserFlag)) {
                                 // 超级会员购买svip商品不享受店铺促销优惠
-                                shopPromotionPrice.set(MathUtil.add(shopPromotionPrice, MathUtil.mul(cartItemVo.getNumber(), cartItemVo.getPrice())).doubleValue());
+                                shopPromotionFee.set(MathUtil.add(shopPromotionFee, MathUtil.mul(cartItemVo.getNumber(), cartItemVo.getPrice())).doubleValue());
                             }
                             // 该供应商下商品种类 +1
                             shopKindCount.incrementAndGet();
@@ -262,7 +262,7 @@ public class CartClubServiceImpl implements CartClubService {
                             // 添加到总促销
                             totalPromotions.add(shopPromotion);
                             // 店铺满减-计算供应商总价/满减金额
-                            if (shopPromotion.getMode() == 2 && MathUtil.compare(shopPromotionPrice, shopPromotion.getTouchPrice()) > -1) {
+                            if (shopPromotion.getMode() == 2 && MathUtil.compare(shopPromotionFee, shopPromotion.getTouchPrice()) > -1) {
                                 // 该供应商总价 - 满减金额
                                 shopPrice.set(MathUtil.sub(shopPrice.get(), shopPromotion.getReducedPrice()).doubleValue());
                                 // 该供应商优惠总额 + 满减金额
@@ -666,6 +666,9 @@ public class CartClubServiceImpl implements CartClubService {
         List<Integer> shopIds = new ArrayList<>();
         // 用户身份
         Integer userIdentity = baseMapper.getIdentityByUserId(userId);
+        // 超级会员标识
+        Integer svipUserId = baseMapper.getSvipUserIdByUserId(userId);
+        boolean svipUserFlag = null != svipUserId;
 
         // 前端接收商品Id信息
         List<String> productIdList = new ArrayList<>();
@@ -687,8 +690,8 @@ public class CartClubServiceImpl implements CartClubService {
                     // 该供应商总价
                     AtomicDouble shopPrice = new AtomicDouble(0);
                     // 该供应商下参与店铺促销的商品总价
-                    AtomicDouble shopPromotionPrice = new AtomicDouble(0);
-                    // 该供应商满减金额(供应商满减,单品满减)
+                    AtomicDouble shopPromotionFee = new AtomicDouble(0);
+                    // 该供应商满减金额(svip优惠,供应商满减,单品满减)
                     AtomicDouble shopReducedPrice = new AtomicDouble(0);
                     // 供应商促销优惠活动
                     PromotionsVo shopPromotion = baseMapper.getPromotionByShopId(shop.getShopId());
@@ -772,7 +775,7 @@ public class CartClubServiceImpl implements CartClubService {
                             // 该供应商下可参与店铺促销的商品价格累加
                             if (!(1 == cartItemVo.getSvipProductFlag() && svipUserFlag)) {
                                 // 超级会员购买svip商品不享受店铺促销优惠
-                                shopPromotionPrice.set(MathUtil.add(shopPromotionPrice, MathUtil.mul(cartItemVo.getNumber(), cartItemVo.getPrice())).doubleValue());
+                                shopPromotionFee.set(MathUtil.add(shopPromotionFee, MathUtil.mul(cartItemVo.getNumber(), cartItemVo.getPrice())).doubleValue());
                             }
                             // 该供应商下商品种类 +1
                             shopKindCount.incrementAndGet();
@@ -807,7 +810,7 @@ public class CartClubServiceImpl implements CartClubService {
                                     // 添加到总促销
                                     totalPromotions.add(shopPromotion);
                                     // 店铺满减-计算供应商总价/满减金额
-                                    if (shopPromotion.getMode() == 2 && MathUtil.compare(shopPromotionPrice, shopPromotion.getTouchPrice()) > -1) {
+                                    if (shopPromotion.getMode() == 2 && MathUtil.compare(shopPromotionFee, shopPromotion.getTouchPrice()) > -1) {
                                         // 该供应商总价 - 满减金额
                                         shopPrice.set(MathUtil.sub(shopPrice.get(), shopPromotion.getReducedPrice()).doubleValue());
                                         // 该供应商优惠总额 + 满减金额

+ 9 - 4
src/main/java/com/caimei365/order/service/impl/CartSellerServiceImpl.java

@@ -96,7 +96,7 @@ public class CartSellerServiceImpl implements CartSellerService {
                 AtomicInteger shopKindCount = new AtomicInteger(0);
                 // 该供应商总价
                 AtomicDouble shopPrice = new AtomicDouble(0);
-                // 该供应商满减金额(供应商满减,单品满减)
+                // 该供应商满减金额(svip优惠,供应商满减,单品满减)
                 AtomicDouble shopReducedPrice = new AtomicDouble(0);
                 // 供应商促销优惠活动
                 PromotionsVo shopPromotion = baseMapper.getPromotionByShopId(shop.getShopId());
@@ -402,6 +402,9 @@ public class CartSellerServiceImpl implements CartSellerService {
         }
         // 获取机构用户Id
         Integer clubUserId = baseMapper.getUserIdByClubId(clubId);
+        // 超级会员标识
+        Integer svipUserId = baseMapper.getSvipUserIdByClubId(clubId);
+        boolean svipUserFlag = null != svipUserId;
         // 供应商列表
         List<CartShopVo> shopList = cartSellerMapper.getCartShopsByProductIds(serviceProviderId, clubId, productIdList);
         if (null != shopList && shopList.size()>0) {
@@ -412,7 +415,9 @@ public class CartSellerServiceImpl implements CartSellerService {
                 AtomicInteger shopKindCount = new AtomicInteger(0);
                 // 该供应商总价
                 AtomicDouble shopPrice = new AtomicDouble(0);
-                // 该供应商满减金额(供应商满减,单品满减)
+                // 该供应商下参与店铺促销的商品总价
+                AtomicDouble shopPromotionFee = new AtomicDouble(0);
+                // 该供应商满减金额(svip优惠,供应商满减,单品满减)
                 AtomicDouble shopReducedPrice = new AtomicDouble(0);
                 // 供应商促销优惠活动
                 PromotionsVo shopPromotion = baseMapper.getPromotionByShopId(shop.getShopId());
@@ -491,7 +496,7 @@ public class CartSellerServiceImpl implements CartSellerService {
                         // 该供应商下可参与店铺促销的商品价格累加
                         if (!(1 == cartItemVo.getSvipProductFlag() && svipUserFlag)) {
                             // 超级会员购买svip商品不享受店铺促销优惠
-                            shopPromotionPrice.set(MathUtil.add(shopPromotionPrice, MathUtil.mul(cartItemVo.getNumber(), cartItemVo.getPrice())).doubleValue());
+                            shopPromotionFee.set(MathUtil.add(shopPromotionFee, MathUtil.mul(cartItemVo.getNumber(), cartItemVo.getPrice())).doubleValue());
                         }
                         // 该供应商下商品种类 +1
                         shopKindCount.incrementAndGet();
@@ -526,7 +531,7 @@ public class CartSellerServiceImpl implements CartSellerService {
                                 // 添加到总促销
                                 totalPromotions.add(shopPromotion);
                                 // 店铺满减-计算供应商总价/满减金额
-                                if (shopPromotion.getMode() == 2 && MathUtil.compare(shopPromotionPrice, shopPromotion.getTouchPrice()) > -1) {
+                                if (shopPromotion.getMode() == 2 && MathUtil.compare(shopPromotionFee, shopPromotion.getTouchPrice()) > -1) {
                                     // 该供应商总价 - 满减金额
                                     shopPrice.set(MathUtil.sub(shopPrice.get(), shopPromotion.getReducedPrice()).doubleValue());
                                     // 该供应商优惠总额 + 满减金额

+ 3 - 0
src/main/java/com/caimei365/order/service/impl/OrderSellerServiceImpl.java

@@ -68,6 +68,9 @@ public class OrderSellerServiceImpl implements OrderSellerService {
         // 设置机构名称
         String clubName = baseMapper.getClubNameById(order.getClubId());
         order.setClubName(clubName);
+        // 设置机构类型
+        Integer svipUserId = baseMapper.getSvipUserIdByClubId(order.getClubId());
+        order.setSvipUserFlag(null != svipUserId ? 1 : 0);
     }
 
     /**

+ 35 - 8
src/main/java/com/caimei365/order/service/impl/SubmitServiceImpl.java

@@ -348,6 +348,8 @@ public class SubmitServiceImpl implements SubmitService {
         AtomicInteger promotionalGiftsCount = new AtomicInteger(0);
         // 促销满减优惠
         AtomicDouble promotionFullReduction = new AtomicDouble(0);
+        // 超级会员优惠
+        AtomicDouble svipFullReduction = new AtomicDouble(0);
         // 商品总金额 (商品单价乘以数量,再加上税费)
         AtomicDouble productTotalFee = new AtomicDouble(0);
         // 订单总额(小计金额减去经理折扣后,再加上运费[默认0])
@@ -416,6 +418,10 @@ public class SubmitServiceImpl implements SubmitService {
             PromotionsVo shopPromotions = baseMapper.getPromotionByShopId(shopId);
             // 商品费
             AtomicDouble shopProductFee = new AtomicDouble(0);
+            // 供应商下参与店铺促销的商品总价
+            AtomicDouble shopPromotionFee = new AtomicDouble(0);
+            // 供应商超级会员优惠
+            AtomicDouble svipShopReduction = new AtomicDouble(0);
             // 遍历所有商品
             for (Object productObject : productArr) {
                 JSONObject productTemp = (JSONObject) productObject;
@@ -497,13 +503,24 @@ public class SubmitServiceImpl implements SubmitService {
                         promotions = baseMapper.getPromotionByProductId(productId);
                     }
                     // 计算单价
-                    if (1 == svipProductPo.getSvipProductFlag() && orderParamBo.getSvipUserFlag()) {
-                        if (1 == svipProductPo.getSvipPriceType()) {
-                            // 折扣价
-                            discountPrice = MathUtil.div(MathUtil.mul(productPrice, svipProductPo.getSvipDiscount()), 100, 2).doubleValue();
-                        } else if (2 == svipProductPo.getSvipPriceType()) {
-                            // 直接优惠价
-                            discountPrice = svipProductPo.getSvipDiscountPrice().doubleValue();
+                    if (null != svipProductPo && 1 == svipProductPo.getSvipProductFlag()) {
+                        // 超级会员优惠商品,不参与促销活动(普通机构购买该商品可参与店铺促销)/阶梯价/复购价
+                        if (orderParamBo.getSvipUserFlag()) {
+                            if (1 == svipProductPo.getSvipPriceType()) {
+                                // 折扣价
+                                discountPrice = MathUtil.div(MathUtil.mul(productPrice, svipProductPo.getSvipDiscount()), 100, 2).doubleValue();
+                            } else if (2 == svipProductPo.getSvipPriceType()) {
+                                // 直接优惠价
+                                discountPrice = svipProductPo.getSvipDiscountPrice().doubleValue();
+                            }
+                            BigDecimal reductionFee = MathUtil.mul(MathUtil.sub(productPrice, discountPrice), productNum, 2);
+                            // 统计超级会员优惠
+                            svipShopReduction.set(MathUtil.add(svipShopReduction, reductionFee).doubleValue());
+                            svipFullReduction.set(MathUtil.add(svipFullReduction, reductionFee).doubleValue());
+                            // 保存订单商品svip数据
+                            product.setSvipProductFlag(1);
+                            product.setSvipPriceType(svipProductPo.getSvipPriceType());
+                            product.setSvipDiscount(1 == svipProductPo.getSvipPriceType() ? svipProductPo.getSvipDiscount() : null);
                         }
                     } else if (promotions != null) {
                         // 是否包含活动商品(受订单未支付自动关闭时间影响)  0 否 1 是
@@ -674,6 +691,12 @@ public class SubmitServiceImpl implements SubmitService {
                 needPayAmount.set(MathUtil.add(needPayAmount.get(), product.getShouldPayFee()).doubleValue());
                 // 统计 总金额 包括税费
                 shopProductFee.set(MathUtil.add(shopProductFee.get(), product.getTotalFee()).doubleValue());
+                // 统计子订单内可参与店铺促销的商品总金额
+                boolean buySvipProductFlag = null != svipProductPo && 1 == svipProductPo.getSvipProductFlag() || orderParamBo.getSvipUserFlag();
+                if (!buySvipProductFlag) {
+                    // 超级会员购买优惠商品,不能参与店铺促销
+                    shopPromotionFee.set(MathUtil.add(shopPromotionFee.get(), product.getTotalFee()).doubleValue());
+                }
                 // 商品总金额
                 shopAmount.set(MathUtil.add(shopAmount.get(), product.getTotalAmount()).doubleValue());
                 // 付供应商 商品费
@@ -688,7 +711,7 @@ public class SubmitServiceImpl implements SubmitService {
 
             if (null != shopPromotions) {
                 // 是否满足满减满赠
-                if (MathUtil.compare(shopProductFee.get(), shopPromotions.getTouchPrice()) >= 0) {
+                if (MathUtil.compare(shopPromotionFee.get(), shopPromotions.getTouchPrice()) >= 0) {
                     // 是否包含活动商品(受订单未支付自动关闭时间影响)  0 否 1 是
                     hasActProductFlag = true;
                     // 满减
@@ -719,6 +742,8 @@ public class SubmitServiceImpl implements SubmitService {
             shopOrder.setCanRefundAmount(needPayAmount.get());
             // 购买商品数
             shopOrder.setItemCount(shopProductCount.get());
+            // 超级会员优惠金额
+            shopOrder.setSvipShopReduction(svipShopReduction.get());
             // 总价(含税) = totalFee
             shopOrder.setTotalAmount(shopProductFee.get());
             // 总金额 = 订单商品totalAmount
@@ -832,6 +857,8 @@ public class SubmitServiceImpl implements SubmitService {
             // 订单总额 -= 优惠券金额
             payTotalFee.set(MathUtil.sub(payTotalFee.get(), couponAmount).doubleValue());
         }
+        // 超级会员优惠
+        mainOrder.setSvipFullReduction(svipFullReduction.get());
         // 商品总额
         mainOrder.setProductTotalFee(productTotalFee.get());
         mainOrder.setOrderTotalFee(productTotalFee.get());

+ 10 - 0
src/main/resources/backup.sql

@@ -0,0 +1,10 @@
+-- =================================== 2021年9月 超级会员S_VIP start =====================================
+ALTER TABLE `caimei`.`cm_order`
+    ADD COLUMN `svipFullReduction` DECIMAL(15,2) NULL COMMENT '订单超级会员优惠' DEFAULT 0.00 AFTER `couponAmount`;
+ALTER TABLE `caimei`.`cm_shop_order`
+    ADD COLUMN `svipShopReduction` VARCHAR(45) NULL COMMENT '店铺超级会员优惠' AFTER `differencePrice`;
+ALTER TABLE `caimei`.`cm_order_product`
+    ADD COLUMN `svipProductFlag` INT NULL DEFAULT 0 COMMENT '超级会员优惠商品标识:0不是,1是' AFTER `heUserId`,
+    ADD COLUMN `svipPriceFlag` INT NULL DEFAULT NULL COMMENT '超级会员优惠价类型:1折扣价,2直接优惠价' AFTER `svipProductFlag`,
+    ADD COLUMN `svipDiscount` DECIMAL(20,2) NULL DEFAULT '0.00' COMMENT '超级会员折扣' AFTER `svipPriceFlag`;
+-- =================================== 2021年9月 超级会员S_VIP end =====================================

+ 1 - 0
src/main/resources/mapper/OrderClubMapper.xml

@@ -145,6 +145,7 @@
             promotionalGiftsCount,
             hasActProduct,
             promotionFullReduction,
+            svipFullReduction,
             secondHandOrderFlag,
             invoiceFlag,
             freePostFlag AS postageFlag,

+ 4 - 0
src/main/resources/mapper/OrderCommonMapper.xml

@@ -17,6 +17,7 @@
         cso.spID AS spId,
         cso.orderPromotionsId,
         cso.promotionFullReduction,
+        cso.svipShopReduction,
         cso.brokerage,
         cso.canRefundAmount,
         cso.itemCount,
@@ -102,6 +103,9 @@
         cop.notOutStore,
         cop.isActProduct AS actProduct,
         cop.productType,
+        cop.svipProductFlag,
+        cop.svipPriceFlag,
+        cop.svipDiscount,
         p.productCategory as productCategory
         FROM cm_order_product cop
         LEFT JOIN product p ON cop.productID = p.productID

+ 9 - 8
src/main/resources/mapper/SubmitMapper.xml

@@ -6,24 +6,24 @@
                               userBeans, orderType, orderSubmitType, confirmFlag, onlinePayFlag, splitFlag, payFlag,
                               receiptStatus, payStatus, zeroCostFlag, sendOutStatus, refundType, affirmPaymentFlag,
                               productCount, presentCount, promotionalGiftsCount, hasActProduct, promotionFullReduction,
-                              secondHandOrderFlag, invoiceFlag, freePostFlag, freight, productTotalFee, orderTotalFee,
-                              payTotalFee, payableAmount, balancePayFee, couponAmount, status, confirmTime, payTime, rebateFlag,
-                              clauseID, clauseName)
+                              svipFullReduction,secondHandOrderFlag, invoiceFlag, freePostFlag, freight, productTotalFee,
+                              orderTotalFee,payTotalFee, payableAmount, balancePayFee, couponAmount, status, confirmTime,
+                              payTime, rebateFlag,clauseID, clauseName)
         VALUES (#{orderSource},#{orderNo},#{userId},#{clubId},#{buyUserId},#{spId},#{orderTime},#{updateDate},#{delFlag},
                 #{userBeans},#{orderType},#{orderSubmitType},#{confirmFlag},#{onlinePayFlag},#{splitFlag},#{payFlag},
                 #{receiptStatus},#{payStatus},#{zeroCostFlag},#{sendOutStatus},#{refundType},#{affirmPaymentFlag},
-                #{productCount},#{presentCount},#{promotionalGiftsCount},#{hasActProduct},#{promotionFullReduction},
+                #{productCount},#{presentCount},#{promotionalGiftsCount},#{hasActProduct},#{promotionFullReduction},#{svipFullReduction},
                 #{secondHandOrderFlag},#{invoiceFlag},#{postageFlag},#{postage},#{productTotalFee},#{orderTotalFee},
                 #{payTotalFee},#{payableAmount},#{balancePayFee},#{couponAmount},#{status},#{confirmTime},#{payTime},#{rebateFlag},
                 #{clauseId},#{clauseName})
     </insert>
     <insert id="insertShopOrder" keyColumn="shopOrderID" keyProperty="shopOrderId" parameterType="com.caimei365.order.model.po.OrderShopPo" useGeneratedKeys="true">
         INSERT INTO cm_shop_order (shopOrderNo, orderID, orderNo, shopID, note, userID, clubID,
-                                   spID, orderPromotionsId, promotionFullReduction, brokerage, canRefundAmount, itemCount,
+                                   spID, orderPromotionsId, promotionFullReduction, svipShopReduction, brokerage, canRefundAmount, itemCount,
                                    totalAmount, productAmount, needPayAmount, shopProductAmount, shopPostFee, shopTaxFee,
                                    shouldPayShopAmount, orderTime, orderSubmitType, splitFlag, payStatus, payedShopAmount)
         VALUES (#{shopOrderNo},#{orderId},#{orderNo},#{shopId}, #{note},#{userId},#{clubId},
-                #{spId},#{orderPromotionsId},#{promotionFullReduction},#{brokerage},#{canRefundAmount},#{itemCount},
+                #{spId},#{orderPromotionsId},#{promotionFullReduction},#{svipShopReduction},#{brokerage},#{canRefundAmount},#{itemCount},
                 #{totalAmount},#{productAmount},#{needPayAmount},#{shopProductAmount},#{shopPostFee},#{shopTaxFee},
                 #{shouldPayShopAmount},#{orderTime},#{orderSubmitType},#{splitFlag},#{payStatus},#{payedShopAmount})
     </insert>
@@ -33,13 +33,14 @@
                                     totalAmount, totalFee, shouldPayFee, productUnit, num, presentNum, discountFee, includedTax,
                                     invoiceType, taxRate, addedValueTax, totalAddedValueTax, singleShouldPayTotalTax, shouldPayTotalTax,
                                     shopProductAmount, singleShopFee, shopFee, singleOtherFee, otherFee, singleCmFee, cmFee,
-                                    payStatus, buyAgainFlag, , isActProduct, productType)
+                                    payStatus, buyAgainFlag, notOutStore, isActProduct, productType, svipProductFlag,svipPriceFlag,
+                                      svipDiscount)
         VALUES (#{orderId},#{orderNo},#{shopOrderId},#{shopOrderNo},#{orderPromotionsId},#{productId},#{shopId},#{name},
                 #{image},#{price},#{price},#{shopName},#{costPrice},#{normalPrice},#{ladderPriceFlag},#{discountPrice},#{discount},
                 #{totalAmount},#{totalFee},#{shouldPayFee},#{productUnit},#{num},#{presentNum},#{discountFee},#{includedTax},
                 #{invoiceType},#{taxRate},#{addedValueTax},#{totalAddedValueTax},#{singleShouldPayTotalTax},#{shouldPayTotalTax},
                 #{shopProductAmount},#{singleShopFee},#{shopFee},#{singleOtherFee},#{otherFee},#{singleCmFee},#{cmFee},
-                #{payStatus},#{buyAgainFlag},#{notOutStore},#{actProduct},#{productType})
+                #{payStatus},#{buyAgainFlag},#{notOutStore},#{actProduct},#{productType},#{svipProductFlag},#{svipPriceFlag},#{svipDiscount})
     </insert>
     <insert id="insertOrderPromotions" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.vo.PromotionsVo" useGeneratedKeys="true">
         INSERT INTO cm_promotions_order (orderId, promotionsId, name, description, type, mode, touchPrice, reducedPrice, status, beginTime, endTime)