Browse Source

联合丽格1.0.1

huangzhiguo 1 year ago
parent
commit
7eea4a9881

+ 2 - 2
src/main/java/com/caimei365/commodity/components/PriceUtilService.java

@@ -340,13 +340,13 @@ public class PriceUtilService {
         organizeId = organizeId == null?0:organizeId;
         // 设置图片
         product.setImage(ImageUtils.getImageURL("product", product.getImage(), 0, domain));
-        List<MallProductSkuVo> organizeSkus = priceMapper.findOrganizeSkus(product.getProductId());
+        List<Sku> organizeSkus = priceMapper.findOrganizeSkus(product.getProductId());
         if (null != organizeSkus) {
             product.setPrice(organizeSkus.get(0).getPrice());
             product.setMinBuyNumber(organizeSkus.get(0).getMinBuyNumber());
             product.setUnit(organizeSkus.get(0).getUnit());
             product.setOrganizeSkus(organizeSkus);
-            product.setSkuId(organizeSkus.get(0).getId());
+            product.setSkuId(organizeSkus.get(0).getSkuId());
 //            product.setSkus(organizeSkus);
             //设置展示的价格等级
             product.setPriceGrade(getPriceGrade(product.getPrice()));

+ 1 - 7
src/main/java/com/caimei365/commodity/mapper/PriceMapper.java

@@ -38,12 +38,6 @@ public interface PriceMapper {
      * @return
      */
     PriceVo getOrganizeMinPrice(Integer productId);
-    /**
-     * 根据商品Id查找组织商品价格
-     * @param productId
-     * @return
-     */
-    List<Sku> getDetailOrganizePrice(Integer productId);
     /**
      * 根据商品id集合查找 价格列表
      */
@@ -121,7 +115,7 @@ public interface PriceMapper {
      * @param productId
      * @return
      */
-    List<MallProductSkuVo> findOrganizeSkus(Integer productId);
+    List<Sku> findOrganizeSkus(Integer productId);
 
     /**
      * 查找所有阶梯价中最低价

+ 6 - 0
src/main/java/com/caimei365/commodity/mapper/UserLikeMapper.java

@@ -12,6 +12,12 @@ import java.util.List;
 @Mapper
 public interface UserLikeMapper {
 
+    /**
+     * 获取用户组织Id
+     * @param userId
+     * @return
+     */
+    Integer getOrganizeId(Integer userId);
     /**
      * 用户收藏
      * @param userId

+ 0 - 4
src/main/java/com/caimei365/commodity/model/vo/MallOrganizeProductVo.java

@@ -39,10 +39,6 @@ public class MallOrganizeProductVo {
      * 商品Id
      */
     private Integer productId;
-    /**
-     * 外部商城商品id
-     */
-    private Integer mallProductId;
     /**
      * 供应商Id
      */

+ 1 - 1
src/main/java/com/caimei365/commodity/model/vo/ProductDetailVo.java

@@ -373,5 +373,5 @@ public class ProductDetailVo implements Serializable {
     /**
      * 外部商城sku
      */
-    private List<MallProductSkuVo> organizeSkus;
+    private List<Sku> organizeSkus;
 }

+ 1 - 1
src/main/java/com/caimei365/commodity/model/vo/ProductItemVo.java

@@ -293,5 +293,5 @@ public class ProductItemVo implements Serializable {
     /**
      * 外部商城sku
      */
-    private List<MallProductSkuVo> organizeSkus;
+    private List<Sku> organizeSkus;
 }

+ 4 - 4
src/main/java/com/caimei365/commodity/service/impl/MallProductServiceImpl.java

@@ -46,8 +46,8 @@ public class MallProductServiceImpl implements MallProductService {
         if (null != productList) {
             // 商品sku
             productList.forEach(product -> {
-                if (null != product.getMallProductId()) {
-                    List<Sku> mallSkus = productMapper.getMallSkus(product.getMallProductId());
+                if (null != product.getProductId()) {
+                    List<Sku> mallSkus = productMapper.getMallSkus(product.getProductId());
                     if (null != mallSkus) {
                         mallSkus.forEach(s -> {
                             s.setPriceGrade(priceUtilService.getPriceGrade(s.getPrice()));
@@ -73,8 +73,8 @@ public class MallProductServiceImpl implements MallProductService {
         MallOrganizeProductVo product = productMapper.getOrganizeProductDetails(productId);
         if (null != product) {
             // 商品sku
-            if (null != product.getMallProductId()) {
-                List<Sku> mallSkus = productMapper.getMallSkus(product.getMallProductId());
+            if (null != product.getProductId()) {
+                List<Sku> mallSkus = productMapper.getMallSkus(product.getProductId());
                 if (null != mallSkus) {
                     mallSkus.forEach(s -> {
                         s.setPriceGrade(priceUtilService.getPriceGrade(s.getPrice()));

+ 1 - 1
src/main/java/com/caimei365/commodity/service/impl/PageServiceImpl.java

@@ -731,7 +731,7 @@ public class PageServiceImpl implements PageService {
         }
         // 商品不处于已删除/待审核/审核未通过的状态
         if (0 != product.getValidFlag()) {
-            List<MallProductSkuVo> organizeSkus = priceMapper.findOrganizeSkus(productId);
+            List<Sku> organizeSkus = priceMapper.findOrganizeSkus(productId);
             // 设置价格
             if (null != organizeSkus) {
                 product.setPrice(organizeSkus.get(0).getPrice());

+ 11 - 6
src/main/java/com/caimei365/commodity/service/impl/UserLikeServiceImpl.java

@@ -54,14 +54,19 @@ public class UserLikeServiceImpl implements UserLikeService {
         if (null == userId) {
             return ResponseJson.error("参数错误:用户Id不能为空!", null);
         }
+        Integer organizeId = likeMapper.getOrganizeId(userId);
         PageHelper.startPage(pageNum, pageSize);
         List<ProductItemVo> productList = likeMapper.findLikeList(userId);
         productList.forEach(product -> {
-            // 设置商品主图及价格
-            priceUtilService.setProductDetails(userId, product, 0);
-            //优惠券标识
-            Boolean couponsLogo = pageService.setCouponsLogo(userId, product.getProductId(), 2);
-            product.setCouponsLogo(couponsLogo);
+            if (0 == organizeId) {
+                // 设置商品主图及价格
+                priceUtilService.setProductDetails(userId, product, 0);
+                //优惠券标识
+                Boolean couponsLogo = pageService.setCouponsLogo(userId, product.getProductId(), 2);
+                product.setCouponsLogo(couponsLogo);
+            } else {
+                priceUtilService.setOrganizeProductDetails(userId, product);
+            }
         });
         PaginationVo<ProductItemVo> pageData = new PaginationVo<>(productList);
         return ResponseJson.success(pageData);
@@ -92,4 +97,4 @@ public class UserLikeServiceImpl implements UserLikeService {
         }
         return ResponseJson.success("批量删除成功");
     }
-}
+}

+ 2 - 2
src/main/resources/mapper/MallOrganizeMapper.xml

@@ -110,9 +110,9 @@
         p.mainImage
         FROM product p
         LEFT JOIN cm_sku s ON p.productId = s.productId
-        left join cm_organize_product_info copi on copi.productId = p.productID and copi.organizeId = 4
+        left join cm_organize_product_info copi on copi.productId = p.productID
         <where>
-            copi.validFlag = 2
+            copi.validFlag = 2 and copi.organizeId = 4
             <if test="activeIds.size() > 0">
                 and cmap.activeId in
                 <foreach collection="activeIds" item="activeId" open="(" separator="," close=")">

+ 26 - 11
src/main/resources/mapper/MallProductMapper.xml

@@ -16,30 +16,45 @@
         s.name as shopName
         FROM product p
         LEFT JOIN shop s ON s.shopId = p.shopId
-        left join cm_organize_product_info copi on copi.productId = p.productID and copi.organizeId = 4
+        left join cm_organize_product_info copi on copi.productId = p.productID
         <where>
+            copi.organizeId = 4 and copi.validFlag = 2
             <if test="productName != null and productName != ''">
-                p.name like concat('%',#{productName},'%')
+                and p.name like concat('%',#{productName},'%')
             </if>
         </where>
         order by p.addTime desc
     </select>
     <select id="getOrganizeProductDetails" resultType="com.caimei365.commodity.model.vo.MallOrganizeProductVo">
-        SELECT p.productID                                                                                     AS productId,
-               p.shopID                                                                                        AS shopId,
+        SELECT p.productID AS productId,
+               p.shopID AS shopId,
                s.normalPrice AS normalPrice,
-               (select price from cm_sku where productID=p.productID and organizeId = 4 order by price asc limit 1) as price,
-               IFNULL((SELECT stock FROM cm_sku WHERE productId = #{productId} and organizeId = 4 ORDER BY price ASC LIMIT 1), 0) AS stock,
+               cs.price AS price,
+               IFNULL(cs.stock, 0) AS stock,
                p.minBuyNumber AS minBuyNumber,
-               (SELECT unit FROM cm_sku WHERE productId = #{productId} and organizeId = 4 ORDER BY price ASC LIMIT 1)             AS unit,
+               cs.unit AS unit,
                copi.validFlag,
                p.name,
                s.name as shopName
         FROM  product p
-            LEFT JOIN cm_sku s ON p.productId = s.productId
-                 LEFT JOIN shop s ON s.shopId = p.shopId
-            left join cm_organize_product_info copi on copi.productId = p.productID and copi.organizeId = 4
-        WHERE p.productID = #{productId}
+            LEFT JOIN shop s ON s.shopId = p.shopId
+            left join cm_organize_product_info copi on copi.productId = p.productID
+            left join
+            (SELECT
+             organizeId,
+             productID,
+             price AS price,
+             normalPrice,
+             stock,
+             unit,
+             costPrice,
+             ladderPriceFlag,
+             minBuyNumber
+             FROM  cm_sku
+             WHERE organizeId =4
+             GROUP BY productID
+             ORDER BY price) cs ON p.productId = cs.productId
+        WHERE p.productID = #{productId} AND copi.organizeId = 4
     </select>
     <select id="getMallSkus" resultType="com.caimei365.commodity.model.dto.Sku">
         SELECT

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

@@ -239,7 +239,7 @@
         WHERE  productId = #{productId} and organizeId = 4
         ORDER BY price ASC
     </select>
-    <select id="findOrganizeSkus" resultType="com.caimei365.commodity.model.vo.MallProductSkuVo">
+    <select id="findOrganizeSkus" resultType="com.caimei365.commodity.model.dto.Sku">
         SELECT skuId,
                unit,
                minBuyNumber,

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

@@ -4,6 +4,10 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.caimei365.commodity.mapper.UserLikeMapper">
 
+    <select id="getOrganizeId" resultType="java.lang.Integer">
+        select ifnull(userOrganizeID, 0) as userOrganizeID from user where userID = #{userId}
+    </select>
+
     <insert id="insert">
         INSERT INTO cm_product_userlike (userID, productID, userLike, likeTime)
         VALUES (#{userId}, #{productId}, 1, now())