huangzhiguo 1 anno fa
parent
commit
672d1550f7

+ 1 - 0
src/main/java/com/caimei365/order/constant/Constant.java

@@ -11,6 +11,7 @@ public class Constant {
     public static final String SIGNATURE_TYPE = "SM3WITHSM2";
     //专票 信息 测试佣金暂入信息  308785626@qq.com vip/二手暂入信息
     public static final String CUSTOMERNUM = "E1807059160";
+    public static final String BCCMERCHANT = "E1807059160";
     //信息的邮箱
     public static final String XX_MAIL = "308785626@qq.com";
 

+ 6 - 4
src/main/java/com/caimei365/order/controller/CartClubApi.java

@@ -202,18 +202,19 @@ public class CartClubApi {
     @ApiOperation("购物车结算(旧:/order/confirm)")
     @ApiImplicitParams({
             @ApiImplicitParam(required = false, name = "userId", value = "用户Id"),
+            @ApiImplicitParam(required = false, name = "townId", value = "地址"),
             @ApiImplicitParam(required = false, name = "skuIds", value = "skuIds,逗号隔开"),
             @ApiImplicitParam(required = false, name = "source", value = "来源 : 1 网站 ; 2 小程序")
     })
     @GetMapping("/cart/settlement")
-    public ResponseJson<Map<String, Object>> settlementShoppingCart(Integer userId, String skuIds, Integer source) {
+    public ResponseJson<Map<String, Object>> settlementShoppingCart(Integer userId, Integer townId, String skuIds, Integer source) {
         if (null == userId) {
             return ResponseJson.error("用户Id不能为空!", null);
         }
         if (StringUtils.isEmpty(skuIds)) {
             return ResponseJson.error("skuId集合不能为空!", null);
         }
-        return cartClubService.settlementShoppingCart(userId, skuIds, source);
+        return cartClubService.settlementShoppingCart(userId, townId, skuIds, source);
     }
 
     /**
@@ -249,17 +250,18 @@ public class CartClubApi {
     @GetMapping("/product/buynow")
     @ApiImplicitParams({
             @ApiImplicitParam(required = false, name = "userId", value = "用户Id"),
+            @ApiImplicitParam(required = false, name = "townId", value = "地址"),
             @ApiImplicitParam(required = false, name = "productInfo", value = "组合商品信息:Json字符串格式[{\"id\":4351,\"count\":1,\"skuId\":123},{}]"),
             @ApiImplicitParam(required = false, name = "source", value = "来源 : 1 网站 ; 2 小程序")
     })
-    public ResponseJson<Map<String, Object>> MultipleBuyNow(Integer userId, String productInfo, Integer source) {
+    public ResponseJson<Map<String, Object>> MultipleBuyNow(Integer userId, Integer townId, String productInfo, Integer source) {
         if (null == userId) {
             return ResponseJson.error("用户Id不能为空!", null);
         }
         if (StringUtils.isEmpty(productInfo)) {
             return ResponseJson.error("组合商品信息不能为空!", null);
         }
-        return cartClubService.MultipleBuyNow(userId, productInfo, source);
+        return cartClubService.MultipleBuyNow(userId, townId, productInfo, source);
     }
 
     /**

+ 2 - 2
src/main/java/com/caimei365/order/controller/CartSellerApi.java

@@ -186,7 +186,7 @@ public class CartSellerApi {
             @ApiImplicitParam(required = false, name = "skuIds", value = "skuIds,逗号隔开")
     })
     @GetMapping("/cart/settlement")
-    public ResponseJson<Map<String, Object>> settlementSellerCart(Integer serviceProviderId, Integer clubId, String skuIds) {
+    public ResponseJson<Map<String, Object>> settlementSellerCart(Integer serviceProviderId, Integer townId, Integer clubId, String skuIds) {
         if (null == serviceProviderId) {
             return ResponseJson.error("协销Id不能为空!", null);
         }
@@ -196,7 +196,7 @@ public class CartSellerApi {
         if (StringUtils.isEmpty(skuIds)) {
             return ResponseJson.error("skuId集合不能为空!", null);
         }
-        return cartSellerService.settlementSellerCart(serviceProviderId, clubId, skuIds);
+        return cartSellerService.settlementSellerCart(serviceProviderId, townId, clubId, skuIds);
     }
 
     /**

+ 5 - 0
src/main/java/com/caimei365/order/model/dto/CartDto.java

@@ -29,6 +29,11 @@ public class CartDto implements Serializable {
      */
     @ApiModelProperty("商品id")
     private Integer productId;
+    /**
+     * 地址Id
+     */
+    @ApiModelProperty("地址Id")
+    private Integer townId;
     /**
      * 商品数量
      */

+ 2 - 2
src/main/java/com/caimei365/order/model/dto/VoucherDto.java

@@ -17,9 +17,9 @@ public class VoucherDto {
      */
     private Integer id;
     /**
-     * 订单Id
+     * 订单Id
      */
-    private Integer orderId;
+    private Integer shopOrderId;
     /**
      * 备注
      */

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

@@ -20,7 +20,7 @@ public class VoucherPo {
     /**
      * 订单Id
      */
-    private Integer orderId;
+    private Integer shopOrderId;
     /**
      * 备注
      */

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

@@ -5,6 +5,7 @@ import lombok.Data;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 购物车商品列表
@@ -180,4 +181,8 @@ public class CartItemVo implements Serializable {
      * 特殊商品退货须知提示  (取后台帮助中心id1040的数据)
      */
     private String  helpContent;
+    /**
+     * 运费
+     */
+    private Map<String, Object> postageMap;
 }

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

@@ -67,7 +67,7 @@ public class OrderProductVo implements Serializable {
     /**
      * 比例成本百分比
      */
-    private Double costProportional;
+    private Double shopPercent;
     /**
      * 启用阶梯价标志 0否 1是
      */

+ 3 - 2
src/main/java/com/caimei365/order/service/CartClubService.java

@@ -80,10 +80,11 @@ public interface CartClubService {
      * 购物车结算
      *
      * @param userId 用户ID
+     * @param townId 地址
      * @param skuIds skuIds,逗号隔开
      * @param source 来源 : 1 网站 ; 2 小程序
      */
-    ResponseJson<Map<String, Object>> settlementShoppingCart(Integer userId, String skuIds, Integer source);
+    ResponseJson<Map<String, Object>> settlementShoppingCart(Integer userId, Integer townId, String skuIds, Integer source);
 
     /**
      * 立即购买
@@ -174,7 +175,7 @@ public interface CartClubService {
      * @param
      * @return
      */
-    ResponseJson<Map<String, Object>> MultipleBuyNow(Integer userId, String productInfo, Integer source);
+    ResponseJson<Map<String, Object>> MultipleBuyNow(Integer userId, Integer townId, String productInfo, Integer source);
 
     ResponseJson checkSkuId(Integer userId, Integer oldSkuId, Integer newSkuId, Integer count);
 }

+ 1 - 1
src/main/java/com/caimei365/order/service/CartSellerService.java

@@ -74,7 +74,7 @@ public interface CartSellerService {
      * @param clubId            机构Id
      * @param skuIds            skuIds
      */
-    ResponseJson<Map<String, Object>> settlementSellerCart(Integer serviceProviderId, Integer clubId, String skuIds);
+    ResponseJson<Map<String, Object>> settlementSellerCart(Integer serviceProviderId, Integer townId, Integer clubId, String skuIds);
 
     /**
      * 协销二手商品立即购买

+ 19 - 2
src/main/java/com/caimei365/order/service/impl/CartClubServiceImpl.java

@@ -918,7 +918,7 @@ public class CartClubServiceImpl implements CartClubService {
      * @param source 来源 : 1 网站 ; 2 小程序
      */
     @Override
-    public ResponseJson<Map<String, Object>> settlementShoppingCart(Integer userId, String skuIds, Integer source) {
+    public ResponseJson<Map<String, Object>> settlementShoppingCart(Integer userId, Integer townId, String skuIds, Integer source) {
         // 用户组织Id
         Integer organizeId = baseMapper.getOrganizeId(userId);
         log.info("¥¥¥¥¥¥¥¥¥¥ > 商品结算");
@@ -944,6 +944,8 @@ public class CartClubServiceImpl implements CartClubService {
         List<Integer> promotionsIds = new ArrayList<>();
         // 供应商Id集合,用户判断赠品供应商是否在当前供应商中
         List<Integer> shopIds = new ArrayList<>();
+        // 运费sku
+        List<String> skuIdp = new ArrayList<>();
         // 用户身份
         Integer userIdentity = baseMapper.getIdentityByUserId(userId);
         if (null == userIdentity) {
@@ -1031,6 +1033,10 @@ public class CartClubServiceImpl implements CartClubService {
                         }
                         // 迭代器设置商品信息
                         for (CartItemVo cartItemVo : productList) {
+                            // 设置商品运费
+                            skuIdp.add(cartItemVo.getSkuId().toString());
+                            Map<String, Object> postageMap = productService.computePostage(userId, townId, skuIdp);
+                            cartItemVo.setPostageMap(postageMap);
                             // 设置商品图片及税费
                             boolean taxFlag = false;
                             if (0 == organizeId) {
@@ -1337,7 +1343,7 @@ public class CartClubServiceImpl implements CartClubService {
      * @return
      */
     @Override
-    public ResponseJson<Map<String, Object>> MultipleBuyNow(Integer userId, String productInfo, Integer source) {
+    public ResponseJson<Map<String, Object>> MultipleBuyNow(Integer userId, Integer townId, String productInfo, Integer source) {
         log.info("¥¥¥¥¥¥¥¥¥¥ > 组合商品立即购买");
         // 商品种类
         AtomicInteger kindCount = new AtomicInteger(0);
@@ -1367,6 +1373,8 @@ public class CartClubServiceImpl implements CartClubService {
         List<String> productIdList = new ArrayList<>();
         //skuIdList
         List<Integer> skuIdList = new ArrayList<>();
+        // 运费sku
+        List<String> skuIds = new ArrayList<>();
         // 用户身份
         Integer userIdentity = baseMapper.getIdentityByUserId(userId);
         if (null == userIdentity) {
@@ -1451,6 +1459,10 @@ public class CartClubServiceImpl implements CartClubService {
                         productList.removeIf(cartItemVo -> !(cartItemVo.getStock() != null && cartItemVo.getStock() > 0 && cartItemVo.getStock() >= cartItemVo.getMin() && cartItemVo.getStock() >= cartItemVo.getNumber()));
                         // 迭代器设置商品信息
                         for (CartItemVo cartItemVo : productList) {
+                            // 设置商品运费
+                            skuIds.add(cartItemVo.getSkuId().toString());
+                            Map<String, Object> postageMap = productService.computePostage(userId, townId, skuIds);
+                            cartItemVo.setPostageMap(postageMap);
                             // 设置商品图片及税费
                             boolean taxFlag = productService.setCartItemImgAndTax(cartItemVo);
                             // 是否充值商品
@@ -1759,6 +1771,11 @@ public class CartClubServiceImpl implements CartClubService {
                 cartItemVo.setHelpContent(helpContent);
             }
         }
+        // 计算运费
+        List<String> skuIds = new ArrayList<>();
+        skuIds.add(cartDto.getSkuId().toString());
+        Map<String, Object> postageMap = productService.computePostage(cartDto.getUserId(), cartDto.getTownId(), skuIds);
+        cartItemVo.setPostageMap(postageMap);
         // 用户身份
         Integer userIdentity = baseMapper.getIdentityByUserId(cartDto.getUserId());
         if (null == userIdentity) {

+ 7 - 2
src/main/java/com/caimei365/order/service/impl/CartSellerServiceImpl.java

@@ -434,7 +434,7 @@ public class CartSellerServiceImpl implements CartSellerService {
      * @param skuIds            skuIds
      */
     @Override
-    public ResponseJson<Map<String, Object>> settlementSellerCart(Integer serviceProviderId, Integer clubId, String skuIds) {
+    public ResponseJson<Map<String, Object>> settlementSellerCart(Integer serviceProviderId, Integer townId, Integer clubId, String skuIds) {
         log.info("¥¥¥¥¥¥¥¥¥¥ > 商品结算(协销帮机构下单)");
         // 商品种类
         AtomicInteger kindCount = new AtomicInteger(0);
@@ -456,7 +456,8 @@ public class CartSellerServiceImpl implements CartSellerService {
         List<Integer> promotionsIds = new ArrayList<>();
         // 供应商Id集合,用户判断赠品供应商是否在当前供应商中
         List<Integer> shopIds = new ArrayList<>();
-
+        // 运费sku
+        List<String> skuIdp = new ArrayList<>();
         // 前端接收商品Id信息
         List<String> skuIdList = new ArrayList<>();
         if (skuIds.contains(",")) {
@@ -494,6 +495,10 @@ public class CartSellerServiceImpl implements CartSellerService {
                 List<CartItemVo> productList = cartSellerMapper.getCartProductsByProductIds(serviceProviderId, clubId, shop.getShopId(), finalIdList);
                 if (null != productList && productList.size() > 0) {
                     for (CartItemVo cartItemVo : productList) {
+                        // 设置商品运费
+                        skuIdp.add(cartItemVo.getSkuId().toString());
+                        Map<String, Object> postageMap = productService.computePostage(clubUserId, townId, skuIdp);
+                        cartItemVo.setPostageMap(postageMap);
                         // 设置商品图片及税费
                         boolean taxFlag = productService.setCartItemImgAndTax(cartItemVo);
                         // 是否充值商品

+ 1 - 1
src/main/java/com/caimei365/order/service/impl/OrderClubServiceImpl.java

@@ -360,7 +360,7 @@ public class OrderClubServiceImpl implements OrderClubService {
      */
     @Override
     public ResponseJson voucher(VoucherDto voucherDto) {
-        if (null == voucherDto.getOrderId()) {
+        if (null == voucherDto.getShopOrderId()) {
             return ResponseJson.error(-1,"订单Id不能为空",null);
         }
         // 修改支付凭证

+ 22 - 7
src/main/java/com/caimei365/order/service/impl/SubmitServiceImpl.java

@@ -263,7 +263,7 @@ public class SubmitServiceImpl implements SubmitService {
             return ResponseJson.error("发票类型不能为空!", null);
         }
         orderParamBo.setInvoiceType(invoiceType);
-        if (organizeId == 0) {
+        /*if (organizeId == 0) {
             // 采美
             if (1 == invoiceType || 2 == invoiceType) {
                 InvoicePo invoice = new InvoicePo();
@@ -305,7 +305,7 @@ public class SubmitServiceImpl implements SubmitService {
                 orderParamBo.setOrderInvoice(invoice);
             }
         } else {
-            // 联合丽格
+            // 联合丽格*/
             if (1 == invoiceType || 2 == invoiceType) {
                 InvoicePo invoice = new InvoicePo();
                 String invoiceTitle = (String) orderInvoice.get("invoiceTitle");
@@ -354,7 +354,6 @@ public class SubmitServiceImpl implements SubmitService {
                 }
                 orderParamBo.setOrderInvoice(invoice);
             }
-        }
         // 返佣订单标识 0非返佣订单,1返佣订单,2普通订单含有返佣服务费
         Integer rebateFlag = (Integer) payInfo.get("rebateFlag");
         // rebateflag=2时,有rebateFee
@@ -1443,9 +1442,25 @@ public class SubmitServiceImpl implements SubmitService {
             });
             // 设置组织Id
             shopOrder.setOrganizeId(organizeId);
-            if (0 != organizeId) {
+            // 分帐号
+            if (0 == organizeId) {
+                shopOrder.setSplitCode(Constant.CUSTOMERNUM);
+            } else {
+                // 联合丽格
+                shopOrder.setSplitCode(Constant.BCCMERCHANT);
                 shopOrder.setRealPay(shopOrder.getNeedPayAmount());
             }
+            // 冷链运输费
+            if (1 == orderParamBo.getIsColdChain()) {
+                shopOrder.setIsColdChina(1);
+                mainOrder.setPostage(MathUtil.add(mainOrder.getPostage(), isColdChina.get()).doubleValue());
+            } else {
+                shopOrder.setIsColdChina(0);
+            }
+            // 设置运费
+            if (( 1 == mainOrder.getPostageFlag() && 0 == mainOrder.getUserBeans() ) || ( 0 == mainOrder.getPostageFlag() && isColdChina.get() > 0.00d && 0 != organizeId ) || ( -1 == mainOrder.getPostageFlag() && isColdChina.get() > 0.00d && 0 != organizeId )) {
+                shopOrder.setShopPostFee(mainOrder.getPostage());
+            }
             /*
              * 保存子订单
              */
@@ -1522,9 +1537,9 @@ public class SubmitServiceImpl implements SubmitService {
         /**
          * 设置邮费子订单( 0包邮 -1到付 1遵循运费规则)
          * 采美豆抵扣不生成
+         * 版本不在使用运费子订单
          */
-        log.info("PostageFlag===="+mainOrder.getPostageFlag()+"====UserBeans=====***"+mainOrder.getUserBeans());
-        if (( 1 == mainOrder.getPostageFlag() && 0 == mainOrder.getUserBeans() ) || ( 0 == mainOrder.getPostageFlag() && isColdChina.get() > 0.00d && 0 != organizeId ) || ( -1 == mainOrder.getPostageFlag() && isColdChina.get() > 0.00d && 0 != organizeId )) {
+        if (organizeId == 998 && ( 1 == mainOrder.getPostageFlag() && 0 == mainOrder.getUserBeans() ) || ( 0 == mainOrder.getPostageFlag() && isColdChina.get() > 0.00d && 0 != organizeId ) || ( -1 == mainOrder.getPostageFlag() && isColdChina.get() > 0.00d && 0 != organizeId )) {
             // 获取 邮费商品    productId 999 skuId 1
             OrderProductPo postageProduct = submitMapper.getProductDetails(1);
             // 生成子订单编号
@@ -1549,7 +1564,7 @@ public class SubmitServiceImpl implements SubmitService {
                 postageOrder.setSplitCode(Constant.CUSTOMERNUM);
             } else {
                 // 联合丽格
-                postageOrder.setSplitCode("E1807782723");
+                postageOrder.setSplitCode(Constant.BCCMERCHANT);
             }
             // 冷链运输费
             if (1 == orderParamBo.getIsColdChain()) {

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

@@ -64,8 +64,8 @@
     </select>
     <select id="machineTypeByID" resultType="java.lang.String">
         SELECT p.machineType FROM product p LEFT JOIN cm_sku cs ON p.productID = cs.productId
-        WHERE
-        cs.skuID in
+        WHERE cs.organizeId = 0
+         and cs.skuID in
         <foreach collection="skuIds" open="(" separator="," close=")" item="skuId">
             #{skuId}
         </foreach>
@@ -109,6 +109,7 @@
           and r.userId = #{userId}
           and ((cs.costCheckFlag = 1 and r.currentPrice <![CDATA[ >= ]]> cs.costPrice) or cs.costCheckFlag = 2)
           and cs.price <![CDATA[ >= ]]> r.currentPrice
+          and cs.organizeId = 0
           and r.delFlag = 0
     </select>
     <select id="getPromotionByShopId" resultType="com.caimei365.order.model.vo.PromotionsVo">
@@ -178,7 +179,7 @@
         FROM cm_promotions_gift cpg
                  LEFT JOIN cm_sku cs ON cpg.skuId = cs.skuId
                  LEFT JOIN product p ON cs.productId = p.productID
-        WHERE cpg.promotionsId = #{promotionsId}
+        WHERE cpg.promotionsId = #{promotionsId} and cs.organizeId = 0
         ORDER BY cpg.id DESC
     </select>
     <select id="getShopByProductId" resultType="com.caimei365.order.model.vo.CartShopVo">
@@ -226,7 +227,7 @@
         productType
         FROM product p
         left join cm_sku cs on p.productID=cs.productId
-        WHERE validFlag='2' AND cs.skuId in
+        WHERE validFlag='2' and cs.organizeId = 0 AND cs.skuId in
         <foreach collection="skuIds" open="(" separator="," close=")" item="skuId">
             #{skuId}
         </foreach>
@@ -238,10 +239,8 @@
         p.commodityType,
         p.productType
         FROM product p
-        LEFT JOIN cm_sku cs ON p.productID=cs.productId
-        LEFT JOIN cm_mall_product_sku cmps ON cmps.skuId = cs.skuId
-        LEFT JOIN cm_mall_organize_products cmop ON cmop.productId = p.productId
-        WHERE cmop.validFlag='1' AND cmop.delFlag = 0 AND cs.skuId IN
+        LEFT JOIN cm_sku cs ON p.productID = cs.productId
+        WHERE p.validFlag='2' and cs.organizeId = 4 AND cs.skuId IN
         <foreach collection="skuIds" open="(" separator="," close=")" item="skuId">
             #{skuId}
         </foreach>
@@ -301,7 +300,7 @@
         SELECT p.shopID, p.productType
         FROM product p
                  LEFT JOIN cm_sku cs on cs.productId = p.productID
-        WHERE cs.skuId = #{skuId}
+        WHERE cs.skuId = #{skuId} and cs.organizeId = 0
     </select>
     <select id="getClauseList" resultType="com.caimei365.order.model.vo.ClauseVo">
         SELECT id,

+ 39 - 55
src/main/resources/mapper/CartClubMapper.xml

@@ -86,9 +86,10 @@
                  LEFT JOIN cm_svip_product csp ON c.productID = csp.productId
         WHERE c.userID = #{userId}
           and p.shopID = #{shopId}
+          and cs.organizeId = 0
         ORDER BY c.cm_cartID DESC
     </select>
-        <select id="getCartOrganizeProductsByShopId" resultType="com.caimei365.order.model.vo.CartItemVo">
+    <select id="getCartOrganizeProductsByShopId" resultType="com.caimei365.order.model.vo.CartItemVo">
         SELECT c.cm_cartID                   AS id,
                c.productCount                AS number,
                p.productID                   AS productId,
@@ -97,30 +98,26 @@
                p.mainImage                   AS image,
                p.productCode,
                c.skuId,
-               cmps.price,
-               cmps.price                      AS originalPrice,
+               cs.price,
+               cs.price                      AS originalPrice,
                cs.unit                       AS unit,
-               cs.stock                      AS stock,
                p.step                        AS step,
-               cmps.minBuyNumber AS MIN,
+               cs.minBuyNumber AS MIN,
                p.priceFlag,
-               IFNULL(cs.ladderPriceFlag, 0) AS ladderFlag,
+               IFNULL(p.ladderPriceFlag, 0) AS ladderFlag,
                p.includedTax                 AS includedTax,
                p.invoiceType                 AS invoiceType,
                p.taxPoint                    AS taxRate,
                p.productCategory,
-               cmop.validFlag                   AS validFlag,
+               p.validFlag                   AS validFlag,
                p.visibility,
                p.productType
         FROM cm_cart c
                  LEFT JOIN product P ON c.productID = p.productID
-                 LEFT JOIN cm_sku cs ON c.skuId = cs.skuId
-                 LEFT JOIN cm_mall_product_sku cmps ON cmps.skuId = cs.skuId
-                 LEFT JOIN cm_mall_organize_products cmop ON cmop.productId = c.productId
+                 LEFT JOIN cm_sku cs ON cs.productID = p.productID
         WHERE c.userID = #{userId}
           and p.shopID = #{shopId}
-          and cmop.organizeID = #{organizeId}
-          AND cmop.delFlag = 0
+          and cs.organizeID = #{organizeId}
         ORDER BY c.cm_cartID DESC
     </select>
     <select id="getCartProductsByShopIdAndProductIds" resultType="com.caimei365.order.model.vo.CartItemVo">
@@ -158,7 +155,7 @@
         LEFT JOIN product p ON c.productID = p.productID
         LEFT JOIN cm_sku cs ON c.skuId = cs.skuId
         LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
-        WHERE c.userID = #{userId} and p.shopID = #{shopId}
+        WHERE c.userID = #{userId} and p.shopID = #{shopId} and cs.organizeId = 0
         AND p.validFlag='2'
         <if test="splitCode !=null and splitCode !=''">
             AND p.splitCode = #{splitCode}
@@ -179,33 +176,26 @@
         p.`name` AS `name`,
         p.mainImage AS image,
         p.productCode,
-        cmps.price,
-        cmps.price AS originalPrice,
+        cs.price,
+        cs.price AS originalPrice,
         cs.unit AS unit,
-        ifnull(cs.stock,0) AS stock,
         p.step AS step,
-        cmps.minBuyNumber AS min,
+        cs.minBuyNumber AS min,
         p.priceFlag,
-        cs.ladderPriceFlag AS ladderFlag,
         p.includedTax AS includedTax,
         p.invoiceType AS invoiceType,
         p.taxPoint AS taxRate,
         p.productCategory,
-        cmop.validFlag AS validFlag,
+        p.validFlag AS validFlag,
         p.visibility,
         p.commodityType as commodityType,
-        #         csp.priceType as svipPriceType,
-        #         csp.discount as svipDiscount,
-        #         csp.discountPrice as svipDiscountPrice,
         p.productType,
         p.splitCode
         FROM cm_cart c
         LEFT JOIN product p ON c.productID = p.productID
-        LEFT JOIN cm_sku cs ON c.skuId = cs.skuId
-        LEFT JOIN cm_mall_organize_products cmop ON cmop.productId = p.productID
-        LEFT JOIN cm_mall_product_sku cmps ON cmps.skuId = cs.skuId
-        WHERE c.userID = #{userId} and p.shopID = #{shopId} and cmop.organizeID = #{organizeId} and cmop.delFlag = 0
-        AND cmop.validFlag='1'
+        LEFT JOIN cm_sku cs ON cs.productID = p.productID
+        WHERE c.userID = #{userId} and p.shopID = #{shopId} and cs.organizeID = #{organizeId}
+        AND p.validFlag='2'
         <if test="splitCode !=null and splitCode !=''">
             AND p.splitCode = #{splitCode}
         </if>
@@ -247,7 +237,7 @@
         FROM cm_sku cs
         LEFT JOIN product p on cs.productId = p.productID
         LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
-        WHERE p.shopID = #{shopId}
+        WHERE p.shopID = #{shopId} and cs.organizeId = 0
         AND p.validFlag='2' AND cs.skuId in
         <foreach collection="skuIdList" open="(" separator="," close=")" item="skuId">
             #{skuId}
@@ -284,6 +274,7 @@
         WHERE p.validFlag = '2'
           AND c.userID = #{userId}
           AND p.priceFlag != '1'
+          and cs.organizeId = 0
           AND cs.stock != '0'
           AND cs.stock <![CDATA[ >= ]]> c.productCount
         ORDER BY c.cm_cartID DESC
@@ -297,32 +288,27 @@
                p.`name`           AS `name`,
                p.mainImage        AS image,
                p.productCode,
-               cmps.price,
-               cmps.price           AS originalPrice,
+               cs.price,
+               cs.price           AS originalPrice,
                cs.unit            AS unit,
-               cs.stock           AS stock,
                p.step             AS step,
-               cmps.minBuyNumber    AS MIN,
+               cs.minBuyNumber    AS MIN,
                p.priceFlag,
-               cs.ladderPriceFlag AS ladderFlag,
+               p.ladderPriceFlag AS ladderFlag,
                p.includedTax      AS includedTax,
                p.invoiceType      AS invoiceType,
                p.taxPoint         AS taxRate,
                p.productCategory,
                p.visibility,
-               cmop.validFlag        AS validFlag,
+               p.validFlag        AS validFlag,
                p.productType
         FROM cm_cart c
                  LEFT JOIN product p ON c.productID = p.productID
                  LEFT JOIN cm_sku cs ON cs.skuId = c.skuId
-                 LEFT JOIN cm_mall_organize_products cmop ON cmop.productId = c.productID
-                 LEFT JOIN cm_mall_product_sku cmps ON cmps.skuId = c.skuId
-        WHERE -- cmop.validFlag = '1'
+        WHERE
            c.userID = #{userId}
           AND p.priceFlag != '1'
-          AND cs.stock != '0'
-          AND cmop.organizeId = 4
-          AND cs.stock <![CDATA[ >= ]]> c.productCount
+          AND cs.organizeId = 4
         ORDER BY c.cm_cartID DESC
     </select>
     <select id="getCartPo" resultType="com.caimei365.order.model.po.CartPo">
@@ -342,11 +328,11 @@
         UPDATE cm_cart
         set productCount = #{productCount},
             addTime      = #{addTime},
-            productId    = (select productId from cm_sku where skuId = #{skuId}),
+            productId    = (select productId from cm_sku where skuId = #{skuId} and organizeId = 0),
             shopId       = (select shopId
                             from product p
                                      left join cm_sku cs on p.productId = cs.productId
-                            where cs.skuId = #{skuId})
+                            where cs.skuId = #{skuId} and organizeId = 0)
         WHERE userID = #{userId}
           AND skuId = #{skuId}
     </update>
@@ -354,8 +340,8 @@
             useGeneratedKeys="true">
         INSERT INTO cm_cart (skuId, shopID, productID, userID, productCount, addTime, reBuyFlag)
         VALUES (#{skuId},
-                (select shopId from product p left join cm_sku cs on p.productId = cs.productId where cs.skuId = #{skuId}),
-                (select productId from cm_sku where skuId = #{skuId}), #{userId},
+                (select shopId from product p left join cm_sku cs on p.productId = cs.productId where cs.skuId = #{skuId} and cs.organizeId = 0),
+                (select productId from cm_sku where skuId = #{skuId} and organizeId = 0), #{userId},
                 #{productCount},
                 #{addTime}, #{reBuyFlag})
     </insert>
@@ -461,23 +447,23 @@
                  LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
         WHERE p.validFlag = '2'
           AND cs.skuId = #{skuId}
+          and cs.organizeId = 0
     </select>
 
     <select id="getCartOrganizeProductId" resultType="com.caimei365.order.model.vo.CartItemVo">
-        SELECT cs.skuId,
+        SELECT cs.skuId as skuId,
                p.productID                  AS productId,
                p.shopID                     AS shopId,
                p.`name`                     AS `name`,
                p.mainImage                  AS image,
                p.productCode,
-               cmps.price,
-               cmps.price                     AS originalPrice,
+               cs.price,
+               cs.price                     AS originalPrice,
                cs.unit                      AS unit,
-               IFNULL(cs.stock,0)           AS stock,
                p.step                       AS step,
-               cmps.minBuyNumber AS MIN,
+               cs.minBuyNumber AS MIN,
                p.priceFlag,
-               cs.ladderPriceFlag           AS ladderFlag,
+               p.ladderPriceFlag           AS ladderFlag,
                p.includedTax                AS includedTax,
                p.invoiceType                AS invoiceType,
                p.taxPoint                   AS taxRate,
@@ -487,12 +473,10 @@
                p.commodityType              AS commodityType,
                p.productType,
                p.returnGoodsStutas
-        FROM cm_mall_product_sku cmps
-                 LEFT JOIN cm_mall_organize_products cmop ON cmop.id = cmps.mallProductId
-                 LEFT JOIN cm_sku cs ON cmps.skuId = cs.skuId
+        FROM cm_sku cs
                  LEFT JOIN product p ON p.productID = cs.productId
-        WHERE cmop.validFlag = '1'
-          AND cs.skuId = #{skuId}
+        WHERE p.validFlag = '2'
+          AND cs.skuId = #{skuId} and cs.organizeId = 4
     </select>
 
     <select id="findVipCoupon" resultType="java.lang.Integer">

+ 4 - 3
src/main/resources/mapper/CartSellerMapper.xml

@@ -46,6 +46,7 @@
         WHERE c.serviceProviderId = #{serviceProviderId}
           AND c.clubId = #{clubId}
           AND c.shopID = #{shopId}
+          and cs.organizeId = 0
         ORDER BY c.id DESC
     </select>
     <select id="getSellerCartCount" resultType="java.lang.Integer">
@@ -156,7 +157,7 @@
         LEFT JOIN cm_sku cs ON c.skuId = cs.skuId
         LEFT JOIN product p ON cs.productId = p.productID
         LEFT JOIN cm_svip_product csp ON cs.productID = csp.productId
-        WHERE c.serviceProviderId = #{serviceProviderId} AND c.clubId = #{clubId} AND c.shopID = #{shopId}
+        WHERE c.serviceProviderId = #{serviceProviderId} AND c.clubId = #{clubId} AND c.shopID = #{shopId} and cs.organizeId = 0
         AND c.skuId in
         <foreach collection="skuIds" open="(" separator="," close=")" item="skuId">
             #{skuId}
@@ -183,7 +184,7 @@
         FROM product p
             left join cm_sku cs on p.productID=cs.productId
                  LEFT JOIN cm_second_hand_detail cshd ON p.productID = cshd.productID
-        WHERE p.productCategory = 2
+        WHERE p.productCategory = 2 and cs.organizeId = 0
           AND p.productID = #{productId}
         LIMIT 1
     </select>
@@ -210,7 +211,7 @@
         FROM cm_order_product op
             left join cm_sku cs on op.skuID=cs.skuId
                  LEFT JOIN product p ON op.productID = p.productID
-        WHERE orderID = #{orderID}
+        WHERE orderID = #{orderID} and cs.organizeId = 0
         GROUP BY op.ProductID
     </select>
 </mapper>

+ 16 - 17
src/main/resources/mapper/OrderClubMapper.xml

@@ -742,7 +742,7 @@
                costPrice,
                ifnull(ladderPriceFlag,0) as ladderPriceFlag,
                costCheckFlag,
-               costProportional,
+               shopPercent as costProportional,
                stock,
                unit,
                minBuyNumber,
@@ -751,25 +751,24 @@
                csps.priceType
         from cm_sku cs
         left join cm_svip_product_sku csps on cs.skuId = csps.skuId
-        where cs.productId = #{productId}
+        where cs.productId = #{productId} and cs.organizeId = 0
         ORDER BY price ASC
     </select>
     <select id="getOrganizeSku" resultType="com.caimei365.order.model.vo.Sku">
-        SELECT distinct cmps.skuId, cmps.minBuyNumber, cmps.price,
-            cs.normalPrice,
-            cs.costPrice,
-            ifnull(cs.ladderPriceFlag,0) as ladderPriceFlag,
-            cs.costCheckFlag,
-            cs.costProportional,
-            cs.stock,
-            cs.unit
-        FROM cm_mall_product_sku cmps
-        left join cm_sku cs on cmps.skuId = cs.skuId
-        WHERE cmps.productId = #{productId}
-        ORDER BY cmps.price ASC
+        SELECT distinct id as skuId,
+            minBuyNumber,
+            price,
+            unit,
+            stock,
+            organizePercent,
+            shopPercent,
+            cmPercent
+        FROM cm_sku
+        WHERE productId = #{productId} and organizeId = 4
+        ORDER BY price ASC
     </select>
     <select id="getVoucher" resultType="com.caimei365.order.model.po.VoucherPo">
-        SELECT id, orderId, remarks, addtime FROM cm_order_payment_voucher WHERE orderId = #{orderId}
+        SELECT id, shopOrderId, remarks, addtime FROM cm_order_payment_voucher WHERE orderId = #{orderId}
     </select>
     <select id="getVoucherImage" resultType="com.caimei365.order.model.dto.VoucherImageDto">
         SELECT id, voucherId, image as img FROM cm_voucher_image
@@ -788,8 +787,8 @@
         where id = #{id}
     </update>
     <insert id="insertVoucher" parameterType="com.caimei365.order.model.dto.VoucherDto" keyProperty="id" useGeneratedKeys="true">
-        insert into cm_order_payment_voucher (orderId, remarks, addtime)
-        values (#{orderId},#{remarks},now())
+        insert into cm_order_payment_voucher (shopOrderId, remarks, addtime)
+        values (#{shopOrderId},#{remarks},now())
     </insert>
     <update id="updateVoucherImage">
         update cm_voucher_image

+ 1 - 1
src/main/resources/mapper/OrderCommonMapper.xml

@@ -750,7 +750,7 @@
     <select id="findMaxStock" resultType="java.lang.Integer">
         SELECT stock
         FROM cm_sku
-        WHERE productId = #{productId}
+        WHERE productId = #{productId} and organizeId = 0
         ORDER BY stock DESC
         LIMIT 1
     </select>

+ 19 - 33
src/main/resources/mapper/SubmitMapper.xml

@@ -160,24 +160,17 @@
     </update>
     <select id="getOrganizeSkuInfo" resultType="com.caimei365.order.model.po.CmOrganizeSkuPo">
         SELECT
-            cmps.id,
-            cmps.productId,
-            cmps.id,
-            cmps.skuId,
-            cmps.minBuyNumber,
-            cmps.price,
-            cs.unit,
-            cs.price as clubPrice,
-            cs.costCheckFlag as costCheckFlag,
-            cs.costPrice as costPrice,
-            cs.costProportional as costProportional,
-            cs.minBuyNumber AS cmMinBuyNumber,
-            cmps.organizePercent,
-            cmps.shopPercent,
-            cmps.cmPercent
-        FROM cm_mall_product_sku cmps
-                 LEFT JOIN cm_sku cs ON cmps.skuId = cs.skuId
-            where cmps.skuId = #{skuId}
+            skuId,
+            productId,
+            minBuyNumber,
+            price,
+            unit,
+            stock,
+            organizePercent,
+            shopPercent,
+            cmPercent
+        FROM cm_sku
+            where skuId = #{skuId} and organizeId = 4
     </select>
     <select id="getOrderInvoice" resultType="com.caimei365.order.model.po.InvoicePo">
         SELECT id,
@@ -223,7 +216,7 @@
                cs.price,
                cs.costPrice,
                IFNULL(cs.costCheckFlag, 1) AS costCheckFlag,
-               cs.costProportional,
+               cs.shopPercent as costProportional,
                p.productCategory,
                cs.ladderPriceFlag,
                p.includedTax,
@@ -235,7 +228,7 @@
                p.splitCode as splitCode
         FROM product p
         LEFT JOIN cm_sku cs on p.productID = cs.productId
-        WHERE cs.skuId = #{skuId}
+        WHERE cs.skuId = #{skuId} and cs.organizeId = 0
     </select>
     <select id="getProductOrganizeDetails" resultType="com.caimei365.order.model.po.OrderProductPo">
         SELECT cs.skuId                   AS skuId,
@@ -243,25 +236,18 @@
                p.shopID                   AS shopId,
                p.`name`                   AS `name`,
                p.mainImage                AS image,
-               cmop.id as organizeProductId,
-               cmps.price,
-               cs.costPrice,
-               IFNULL(cs.costCheckFlag, 1) AS costCheckFlag,
-               cs.costProportional,
+               cs.price,
                p.productCategory,
-               cs.ladderPriceFlag,
+               p.ladderPriceFlag,
                p.includedTax,
                p.invoiceType,
                p.taxPoint                 AS taxRate,
                cs.unit                     AS productUnit,
-               cs.normalPrice,
                p.supplierTaxPoint         AS shopTaxRate,
                p.splitCode as splitCode
         FROM product p
-                 LEFT JOIN cm_sku cs on p.productID = cs.productId
-                 LEFT JOIN cm_mall_organize_products cmop ON cmop.productId = p.productID
-                 LEFT JOIN cm_mall_product_sku cmps ON cmps.skuId = cs.skuId
-        WHERE cs.skuId = #{skuId}
+                 LEFT JOIN cm_sku cs  ON cs.productId = p.productId
+        WHERE cmps.id = #{skuId}
     </select>
     <select id="getClauseNameById" resultType="java.lang.String">
         SELECT `name`
@@ -335,7 +321,7 @@
                cs.price,
                cs.costPrice,
                IFNULL(cs.costCheckFlag, 1) AS costCheckFlag,
-               cs.costProportional,
+               cs.shopPercent as costProportional,
                p.productCategory,
                cs.ladderPriceFlag,
                p.includedTax,
@@ -347,6 +333,6 @@
                p.splitCode as splitCode
         FROM product p
                  LEFT JOIN cm_sku cs on p.productID = cs.productId
-        WHERE cs.productId = #{productId}
+        WHERE cs.productId = #{productId} and cs.organizeId = 0
     </select>
 </mapper>