zhijiezhao 2 år sedan
förälder
incheckning
76c05c10c2

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

@@ -79,9 +79,9 @@ public class CartSellerApi {
      *                      serviceProviderId 协销Id
      *                      clubId       机构ID
      *                      type         商品类型:1单一商品,2组合商品
-     *                      productId    单一商品id
+     *                      skuId        单一商品skuId
      *                      productCount 单一商品数量
-     *                      productInfo  组合商品信息:Json字符串格式[{"id":4351,"count":1},{}]
+     *                      productInfo  组合商品信息:Json字符串格式[{"skuId":4351,"count":1},{}]
      * }
      */
     @ApiOperation("协销添加购物车(旧:/seller/addCart)(/seller/batchAddCart)")
@@ -97,8 +97,8 @@ public class CartSellerApi {
             return ResponseJson.error("商品类型(单一/组合)不能为空!", null);
         }
         if (1 == sellerCartDto.getType()) {
-            if (null == sellerCartDto.getProductId()) {
-                return ResponseJson.error("单一商品Id不能为空!", null);
+            if (null == sellerCartDto.getSkuId()) {
+                return ResponseJson.error("单一商品skuId不能为空!", null);
             }
             if (null == sellerCartDto.getProductCount()) {
                 return ResponseJson.error("单一商品数量不能为空!", null);

+ 2 - 2
src/main/java/com/caimei365/order/mapper/BaseMapper.java

@@ -29,9 +29,9 @@ public interface BaseMapper {
     String getClubNameById(Integer clubId);
     /**
      * 获取商品供应商Id
-     * @param productId 商品Id
+     * @param skuId skuId
      */
-    Integer getShopIdByproductId(Integer productId);
+    Integer getShopIdByproductId(Integer skuId);
     /**
      * 获取机构用户Id
      * @param clubId 机构Id

+ 3 - 1
src/main/java/com/caimei365/order/model/dto/SellerCartDto.java

@@ -14,6 +14,8 @@ import java.io.Serializable;
 @Data
 public class SellerCartDto implements Serializable {
     private static final long serialVersionUID = 1L;
+
+    private Integer skuId;
     /**
      * 协销购物车id
      */
@@ -47,7 +49,7 @@ public class SellerCartDto implements Serializable {
     /**
      * 组合商品信息:Json字符串格式[{id:4351,count:1},{}]
      */
-    @ApiModelProperty("组合商品信息:Json字符串格式[{id:4351,count:1},{}]")
+    @ApiModelProperty("组合商品信息:Json字符串格式[{skuId:4351,count:1},{}]")
     private String productInfo;
     /**
      * 商品ids

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

@@ -14,6 +14,8 @@ import java.util.Date;
 @Data
 public class SellerCartPo implements Serializable {
     private static final long serialVersionUID = 1L;
+
+    private Integer skuId;
     /**
      * 协销购物车id
      */

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

@@ -316,9 +316,9 @@ public class CartSellerServiceImpl implements CartSellerService {
      *                      serviceProviderId 协销Id
      *                      clubId       机构ID
      *                      type         商品类型:1单一商品,2组合商品
-     *                      productId    单一商品id
+     *                      skuId        单一商品skuId
      *                      productCount 单一商品数量
-     *                      productInfo  组合商品信息:Json字符串格式[{"id":4351,"count":1},{}]
+     *                      productInfo  组合商品信息:Json字符串格式[{"skuId":4351,"count":1},{}]
      *                      }
      */
     @Override
@@ -331,9 +331,9 @@ public class CartSellerServiceImpl implements CartSellerService {
                 JSONArray productArr = parseArray(sellerCartDto.getProductInfo());
                 for (Object o : productArr) {
                     JSONObject product = (JSONObject) o;
-                    Integer productId = product.getInteger("id");
+                    Integer skuId = product.getInteger("skuId");
                     Integer productCount = product.getInteger("count");
-                    sellerCartDto.setProductId(productId);
+                    sellerCartDto.setSkuId(skuId);
                     sellerCartDto.setProductCount(productCount);
                     addSellerCart(sellerCartDto);
                 }
@@ -361,7 +361,7 @@ public class CartSellerServiceImpl implements CartSellerService {
             cartSellerMapper.updateSellerCart(cart);
         } else {
             // 添加新购物车
-            Integer shopId = baseMapper.getShopIdByproductId(sellerCartDto.getProductId());
+            Integer shopId = baseMapper.getShopIdByproductId(sellerCartDto.getSkuId());
             cart = new SellerCartPo();
             cart.setServiceProviderId(sellerCartDto.getServiceProviderId());
             cart.setShopId(shopId);
@@ -369,6 +369,7 @@ public class CartSellerServiceImpl implements CartSellerService {
             cart.setProductId(sellerCartDto.getProductId());
             cart.setNum(sellerCartDto.getProductCount());
             cart.setAddTime(new Date());
+            cart.setSkuId(sellerCartDto.getSkuId());
             cartSellerMapper.insertSellerCart(cart);
         }
     }
@@ -873,6 +874,7 @@ public class CartSellerServiceImpl implements CartSellerService {
         cart.setClubId(orderClubId);
         List<Integer> productIds = new ArrayList<>();
         productList.forEach(cartItemVo -> {
+            cart.setSkuId(cartItemVo.getSkuId());
             cart.setProductId(cartItemVo.getProductId());
             cart.setProductCount(cartItemVo.getNumber());
             addSellerCart(cart);

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

@@ -88,7 +88,7 @@ public class SubmitServiceImpl implements SubmitService {
      *                  { "shopId":1001,                         // 供应商Id
      *                  "splitCode:E123123"       //分账号
      *                  "note":备注,
-     *                  "productInfo":[                      // 商品id,数量,赠品数,商品类型
+     *                  "productInfo":[                      // skuId,数量,赠品数,商品类型
      *                  {"skuId": 2789, "productNum": 1, "presentNum":0,"productType":2},
      *                  {"skuId": 2789, "productNum": 1, "presentNum":0,"productType":0}
      *                  ]
@@ -128,6 +128,7 @@ public class SubmitServiceImpl implements SubmitService {
     @Transactional(rollbackFor = Exception.class)
     @Override
     public ResponseJson<Map<String, Object>> generateOrder(SubmitDto submitDto) {
+        log.info("参数----------------------------------------------------" + submitDto);
         // 获取机构用户Id
         Integer clubUserId = baseMapper.getUserIdByClubId(submitDto.getClubId());
         if (null == clubUserId || clubUserId == 0) {

+ 5 - 3
src/main/resources/mapper/BaseMapper.xml

@@ -142,6 +142,7 @@
     <select id="getPromotionGifts" resultType="com.caimei365.order.model.vo.CartItemVo">
         SELECT cpg.id       AS id,
                cs.productID AS productId,
+               cpg.skuId    AS skuId,
                p.shopID     AS shopId,
                p.`name`     AS `name`,
                p.mainImage  AS image,
@@ -249,9 +250,10 @@
         WHERE userID = #{userId}
     </select>
     <select id="getShopIdByproductId" resultType="java.lang.Integer">
-        SELECT shopID, productType
-        FROM product
-        WHERE productID = #{productId}
+        SELECT p.shopID, p.productType
+        FROM product p
+        LEFT JOIN cm_sku cs on cs.productId=p.productID
+        WHERE cs.skuId = #{skuId}
     </select>
     <select id="getClauseList" resultType="com.caimei365.order.model.vo.ClauseVo">
         SELECT id,

+ 2 - 1
src/main/resources/mapper/CartClubMapper.xml

@@ -88,6 +88,7 @@
     </select>
     <select id="getCartProductsByShopIdAndProductIds" resultType="com.caimei365.order.model.vo.CartItemVo">
         SELECT
+        c.skuId AS skuId,
         c.cm_cartID AS id,
         c.productCount AS number,
         p.productID AS productId,
@@ -134,7 +135,7 @@
 
     <select id="getProductsByShopIdAndProductIds" resultType="com.caimei365.order.model.vo.CartItemVo">
         SELECT
-        cs.skuId,
+        cs.skuId    AS skuId,
         p.productID AS productId,
         p.shopID AS shopId,
         p.`name` AS `name`,

+ 12 - 9
src/main/resources/mapper/CartSellerMapper.xml

@@ -17,8 +17,8 @@
         SELECT c.id,
                c.skuId,
                c.num                        AS number,
-               c.productId,
-               c.shopId,
+               cs.productId,
+               p.shopId,
                p.`name`                     AS `name`,
                p.mainImage                  AS image,
                p.productCode,
@@ -42,7 +42,7 @@
                p.productType
         FROM bp_order_product_cart c
                  LEFT JOIN cm_sku cs on c.skuId = cs.skuId
-                 LEFT JOIN product p ON c.productId = p.productID
+                 LEFT JOIN product p ON cs.productId = p.productID
                  LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
         WHERE c.serviceProviderId = #{serviceProviderId}
           AND c.clubId = #{clubId}
@@ -60,11 +60,12 @@
                serviceProviderId,
                clubId,
                productId,
+               skuId,
                num
         FROM bp_order_product_cart
         WHERE serviceProviderId = #{serviceProviderId}
           AND clubId = #{clubId}
-          AND productId = #{productId}
+          AND skuId = #{skuId}
     </select>
     <select id="getSellerCartById" resultType="com.caimei365.order.model.po.SellerCartPo">
         SELECT id,
@@ -83,8 +84,8 @@
     </update>
     <insert id="insertSellerCart" keyColumn="id" keyProperty="id"
             parameterType="com.caimei365.order.model.po.SellerCartPo" useGeneratedKeys="true">
-        INSERT INTO bp_order_product_cart (serviceProviderId, clubId, shopId, productId, num, addDate)
-        VALUES (#{serviceProviderId}, #{clubId}, #{shopId}, #{productId}, #{num}, #{addTime})
+        INSERT INTO bp_order_product_cart (serviceProviderId, clubId, shopId, productId, num, addDate, skuId)
+        VALUES (#{serviceProviderId}, #{clubId}, #{shopId}, #{productId}, #{num}, #{addTime}, #{skuId})
     </insert>
     <delete id="deleteSellerCartByIds">
         DELETE FROM bp_order_product_cart
@@ -122,7 +123,8 @@
         SELECT
         c.id,
         c.num AS number,
-        c.productId,
+        cs.skuId,
+        cs.productId,
         c.shopId,
         p.`name` AS `name`,
         p.mainImage AS image,
@@ -146,9 +148,9 @@
         csp.discount as svipDiscount,
         csp.discountPrice as svipDiscountPrice
         FROM bp_order_product_cart c
-        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
+        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}
         AND c.skuId in
         <foreach collection="skuIds" open="(" separator="," close=")" item="skuId">
@@ -192,6 +194,7 @@
     </select>
     <select id="getOrderProductNum" resultType="com.caimei365.order.model.vo.CartItemVo">
         SELECT op.ProductID   AS productId,
+               op.skuId       AS skuId,
                op.num         AS number,
                p.minBuyNumber AS min,
                p.`name`       AS `name`,