Ver Fonte

商品发布part2

chao há 4 anos atrás
pai
commit
a505e348db

+ 18 - 0
src/main/java/com/caimei365/commodity/mapper/ShopMapper.java

@@ -1,6 +1,8 @@
 package com.caimei365.commodity.mapper;
 package com.caimei365.commodity.mapper;
 
 
+import com.caimei365.commodity.model.po.ProductDetailInfoPo;
 import com.caimei365.commodity.model.po.ProductImagePo;
 import com.caimei365.commodity.model.po.ProductImagePo;
+import com.caimei365.commodity.model.po.ProductParameterPo;
 import com.caimei365.commodity.model.po.ProductPo;
 import com.caimei365.commodity.model.po.ProductPo;
 import com.caimei365.commodity.model.search.ProductListVo;
 import com.caimei365.commodity.model.search.ProductListVo;
 import com.caimei365.commodity.model.vo.ProductItemVo;
 import com.caimei365.commodity.model.vo.ProductItemVo;
@@ -65,4 +67,20 @@ public interface ShopMapper {
      * 删除商品图片
      * 删除商品图片
      */
      */
     void deleteProductImage(Integer id);
     void deleteProductImage(Integer id);
+    /**
+     * 删除相关参数
+     */
+    void deleteProductParameters(Integer productId);
+    /**
+     * 保存相关参数
+     */
+    void insertProductParameters(ProductParameterPo parameters);
+    /**
+     * 保存商品详情
+     */
+    void insertProductDetailInfo(ProductDetailInfoPo productDetail);
+    /**
+     * 修改商品详情
+     */
+    void updateProductDetailInfo(ProductDetailInfoPo productDetail);
 }
 }

+ 46 - 0
src/main/java/com/caimei365/commodity/model/po/ProductDetailInfoPo.java

@@ -0,0 +1,46 @@
+package com.caimei365.commodity.model.po;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2021/4/22
+ */
+@Data
+public class ProductDetailInfoPo implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private Integer productDetailInfoId;
+    /**
+     * 商品Id
+     */
+    private Integer productId;
+    /**
+     * 商品详情信息
+     */
+    private String detailInfo;
+    /**
+     * 服务详情
+     */
+    private String serviceInfo;
+    /**
+     * 订购方案
+     */
+    private String orderInfo;
+
+    private String propValueAlias;
+
+    private String propValueImages;
+
+    private String detailInfoTxt;
+
+    private String seoTitle;
+
+    private String seoKeyword;
+
+    private String seoDes;
+}

+ 37 - 0
src/main/java/com/caimei365/commodity/model/po/ProductParameterPo.java

@@ -0,0 +1,37 @@
+package com.caimei365.commodity.model.po;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2021/4/22
+ */
+@Data
+public class ProductParameterPo implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private Integer id;
+    /**
+     * 商品ID
+     */
+    private Integer productId;
+
+    /**
+     * 参数名称
+     */
+    private String paramsName;
+
+    /**
+     * 参数内容
+     */
+    private String paramsContent;
+
+    /**
+     * 删除标记 0否 其余是
+     */
+    private Integer delFlag;
+}

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

@@ -378,7 +378,7 @@ public class SecondHandServiceImpl implements SecondHandService {
      * @return str
      * @return str
      */
      */
     private String priceFormatStr(Double number) {
     private String priceFormatStr(Double number) {
-        number = (number == null && number > 0d) ? number : 0d;
+        number = (number != null && number > 0d) ? number : 0d;
         DecimalFormat df = new DecimalFormat("##,##0.00");
         DecimalFormat df = new DecimalFormat("##,##0.00");
         return df.format(number);
         return df.format(number);
     }
     }

+ 29 - 30
src/main/java/com/caimei365/commodity/service/impl/ShopServiceImpl.java

@@ -6,7 +6,9 @@ import com.caimei365.commodity.components.PriceUtilService;
 import com.caimei365.commodity.mapper.ShopMapper;
 import com.caimei365.commodity.mapper.ShopMapper;
 import com.caimei365.commodity.model.ResponseJson;
 import com.caimei365.commodity.model.ResponseJson;
 import com.caimei365.commodity.model.dto.ProductDto;
 import com.caimei365.commodity.model.dto.ProductDto;
+import com.caimei365.commodity.model.po.ProductDetailInfoPo;
 import com.caimei365.commodity.model.po.ProductImagePo;
 import com.caimei365.commodity.model.po.ProductImagePo;
+import com.caimei365.commodity.model.po.ProductParameterPo;
 import com.caimei365.commodity.model.po.ProductPo;
 import com.caimei365.commodity.model.po.ProductPo;
 import com.caimei365.commodity.model.search.ProductListVo;
 import com.caimei365.commodity.model.search.ProductListVo;
 import com.caimei365.commodity.model.vo.PaginationVo;
 import com.caimei365.commodity.model.vo.PaginationVo;
@@ -210,7 +212,6 @@ public class ShopServiceImpl implements ShopService {
         String current = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
         String current = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
         //保存或修改商品
         //保存或修改商品
         ProductPo product = new ProductPo();
         ProductPo product = new ProductPo();
-        product.setProductId(productDto.getProductId());
         product.setShopId(productDto.getShopId());
         product.setShopId(productDto.getShopId());
         product.setName(productDto.getName());
         product.setName(productDto.getName());
         product.setAliasName(productDto.getAliasName());
         product.setAliasName(productDto.getAliasName());
@@ -259,6 +260,7 @@ public class ShopServiceImpl implements ShopService {
             }
             }
             shopMapper.insertProduct(product);
             shopMapper.insertProduct(product);
         } else {
         } else {
+            product.setProductId(productDto.getProductId());
             shopMapper.updateProduct(product);
             shopMapper.updateProduct(product);
         }
         }
         //保存或修改商品图片
         //保存或修改商品图片
@@ -286,34 +288,31 @@ public class ShopServiceImpl implements ShopService {
                 shopMapper.deleteProductImage(imageItem.getId());
                 shopMapper.deleteProductImage(imageItem.getId());
             }
             }
         }
         }
-//        //保存相关参数
-//        supplierProductDao.deleteParameters(productDto.getProductId());
-//        if (null != paramList && paramList.size() > 0) {
-//            for (Map<String, String> map : paramList) {
-//                String paramsName = map.get("paramsName");
-//                String paramsContent = map.get("paramsContent");
-//                if (StringUtils.isNotBlank(paramsName) && StringUtils.isNotBlank(paramsContent)) {
-//                    RelatedParametersVo parameters = new RelatedParametersVo();
-//                    parameters.setParamsName(paramsName);
-//                    parameters.setParamsContent(paramsContent);
-//                    parameters.setProductId(productDto.getProductId());
-//                    parameters.setDelFlag("0");
-//                    supplierProductDao.insertParameters(parameters);
-//                }
-//            }
-//        }
-//        //保存修改商品详情
-//        product.setDetailInfo(productDto.getDetailInfo());
-//        if (null == productDetail.getProductDetailInfoId()) {
-//            productDetail.setProductId(productDto.getProductId());
-//            supplierProductDao.insertProductDetail(productDetail);
-//        } else {
-//            supplierProductDao.updateProductDetail(productDetail);
-//        }
-//        return JsonModel.newInstance().success();
-
-
-
-        return null;
+        //保存相关参数
+        shopMapper.deleteProductParameters(productDto.getProductId());
+        if (null != paramList && paramList.size() > 0) {
+            for (Map<String, String> map : paramList) {
+                String paramsName = map.get("paramsName");
+                String paramsContent = map.get("paramsContent");
+                if (StringUtils.isNotBlank(paramsName) && StringUtils.isNotBlank(paramsContent)) {
+                    ProductParameterPo parameters = new ProductParameterPo();
+                    parameters.setParamsName(paramsName);
+                    parameters.setParamsContent(paramsContent);
+                    parameters.setProductId(productDto.getProductId());
+                    parameters.setDelFlag(0);
+                    shopMapper.insertProductParameters(parameters);
+                }
+            }
+        }
+        //保存修改商品详情
+        ProductDetailInfoPo productDetail = new ProductDetailInfoPo();
+        productDetail.setProductId(product.getProductId());
+        productDetail.setDetailInfo(productDto.getDetailInfo());
+        if (null == productDetail.getProductDetailInfoId()) {
+            shopMapper.insertProductDetailInfo(productDetail);
+        } else {
+            shopMapper.updateProductDetailInfo(productDetail);
+        }
+        return ResponseJson.success();
     }
     }
 }
 }

+ 3 - 3
src/main/java/com/caimei365/commodity/utils/Json2PojoUtil.java

@@ -64,8 +64,8 @@ public class Json2PojoUtil {
      */
      */
     public static List<ShopListVo> toShopList(JSONArray jsonArray) {
     public static List<ShopListVo> toShopList(JSONArray jsonArray) {
         List<ShopListVo> shopList = new ArrayList<>();
         List<ShopListVo> shopList = new ArrayList<>();
-        ShopListVo shop = new ShopListVo();
         for (int i=0; i<jsonArray.length(); i++) {
         for (int i=0; i<jsonArray.length(); i++) {
+            ShopListVo shop = new ShopListVo();
             JSONObject json = jsonArray.getJSONObject(i);
             JSONObject json = jsonArray.getJSONObject(i);
             /* 主键Id */
             /* 主键Id */
             shop.setMainId(json.getInt("id"));
             shop.setMainId(json.getInt("id"));
@@ -99,8 +99,8 @@ public class Json2PojoUtil {
      */
      */
     public static List<EquipmentListVo> toEquipmentList(JSONArray jsonArray) {
     public static List<EquipmentListVo> toEquipmentList(JSONArray jsonArray) {
         List<EquipmentListVo> equipmentList = new ArrayList<>();
         List<EquipmentListVo> equipmentList = new ArrayList<>();
-        EquipmentListVo equipment = new EquipmentListVo();
         for (int i=0; i<jsonArray.length(); i++) {
         for (int i=0; i<jsonArray.length(); i++) {
+            EquipmentListVo equipment = new EquipmentListVo();
             JSONObject json = jsonArray.getJSONObject(i);
             JSONObject json = jsonArray.getJSONObject(i);
             /* 阿里云索引Id */
             /* 阿里云索引Id */
             equipment.setMainId(json.getInt("id"));
             equipment.setMainId(json.getInt("id"));
@@ -123,8 +123,8 @@ public class Json2PojoUtil {
      */
      */
     public static List<ArticleListVo> toArticleList(JSONArray jsonArray) {
     public static List<ArticleListVo> toArticleList(JSONArray jsonArray) {
         List<ArticleListVo> articleList = new ArrayList<>();
         List<ArticleListVo> articleList = new ArrayList<>();
-        ArticleListVo article = new ArticleListVo();
         for (int i=0; i<jsonArray.length(); i++) {
         for (int i=0; i<jsonArray.length(); i++) {
+            ArticleListVo article = new ArticleListVo();
             JSONObject json = jsonArray.getJSONObject(i);
             JSONObject json = jsonArray.getJSONObject(i);
             /* 阿里云索引Id */
             /* 阿里云索引Id */
             article.setMainId(json.getInt("id"));
             article.setMainId(json.getInt("id"));

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

@@ -32,7 +32,7 @@
                pr.endTime,
                pr.endTime,
                pr.status,
                pr.status,
                prp.productId,
                prp.productId,
-               prp.supplierId
+               prp.supplierId as shopId
         from cm_promotions pr
         from cm_promotions pr
                  left join cm_promotions_product prp on pr.id = prp.promotionsId
                  left join cm_promotions_product prp on pr.id = prp.promotionsId
         where (prp.productId = #{productId} or
         where (prp.productId = #{productId} or

+ 37 - 2
src/main/resources/mapper/ShopMapper.xml

@@ -160,17 +160,52 @@
         insert into productimage (productID, shopID, addTime, image, mainFlag, sortIndex)
         insert into productimage (productID, shopID, addTime, image, mainFlag, sortIndex)
         values (#{productId}, #{shopId}, #{addTime}, #{image}, #{mainFlag}, #{sortIndex})
         values (#{productId}, #{shopId}, #{addTime}, #{image}, #{mainFlag}, #{sortIndex})
     </insert>
     </insert>
+    <insert id="insertProductParameters" parameterType="com.caimei365.commodity.model.po.ProductParameterPo">
+        insert into cm_product_related_parameters (productId, paramsName, paramsContent, delFlag)
+        values (#{productId}, #{paramsName}, #{paramsContent}, #{delFlag})
+    </insert>
+    <insert id="insertProductDetailInfo">
+        insert into productdetailinfo (
+          productID, propValueAlias, propValueImages,
+          detailInfo, detailInfoTxt, seoTitle,
+          seoKeyword, seoDes, serviceInfo,
+          orderInfo
+        ) values (
+            #{productId}, #{propValueAlias}, #{propValueImages},
+            #{detailInfo}, #{detailInfoTxt}, #{seoTitle},
+            #{seoKeyword}, #{seoDes}, #{serviceInfo},
+            #{orderInfo}
+          )
+    </insert>
     <update id="updateProductImage">
     <update id="updateProductImage">
         update productimage set productID = #{productId}, shopID = #{shopId}, addTime = #{addTime},
         update productimage set productID = #{productId}, shopID = #{shopId}, addTime = #{addTime},
                                 image = #{image}, mainFlag = #{mainFlag}, sortIndex = #{sortIndex}
                                 image = #{image}, mainFlag = #{mainFlag}, sortIndex = #{sortIndex}
         where productImageId = #{id}
         where productImageId = #{id}
     </update>
     </update>
+    <update id="updateProductDetailInfo">
+        update productdetailinfo set
+          propValueAlias = #{propValueAlias},
+          propValueImages = #{propValueImages},
+          detailInfo = #{detailInfo},
+          detailInfoTxt = #{detailInfoTxt},
+          seoTitle = #{seoTitle},
+          seoKeyword = #{seoKeyword},
+          seoDes = #{seoDes},
+          serviceInfo = #{serviceInfo},
+          orderInfo = #{orderInfo}
+        where
+          productDetailInfoID = #{productDetailInfoId}
+    </update>
     <delete id="deleteProductImage">
     <delete id="deleteProductImage">
         delete from productimage where productImageID = #{id}
         delete from productimage where productImageID = #{id}
     </delete>
     </delete>
+    <delete id="deleteProductParameters">
+        delete from cm_product_related_parameters where productId = #{productId}
+    </delete>
     <select id="getMainProducts" resultType="com.caimei365.commodity.model.search.ProductListVo">
     <select id="getMainProducts" resultType="com.caimei365.commodity.model.search.ProductListVo">
 		select
 		select
-			p.productID as id,
+			p.productID as productId,
+			p.shopID as shopId,
 			p.`name` as `name`,
 			p.`name` as `name`,
 			p.mainImage as image,
 			p.mainImage as image,
 			p.price1 as price,
 			p.price1 as price,
@@ -189,7 +224,7 @@
     </select>
     </select>
     <select id="getShopProductsSelect" resultType="com.caimei365.commodity.model.vo.ProductItemVo">
     <select id="getShopProductsSelect" resultType="com.caimei365.commodity.model.vo.ProductItemVo">
         select
         select
-            p.productID as productId, p.name, p.aliasName, p.price, p.normalPrice, p.mainImage,
+            p.productID as productId, p.name, p.aliasName, p.price, p.normalPrice, p.mainImage, p.ladderPriceFlag as ladderPriceFlag,
             p.validFlag, p.featuredFlag, p.productCode, p.commodityType as commodityType,
             p.validFlag, p.featuredFlag, p.productCode, p.commodityType as commodityType,
             p.bigTypeID as bigTypeId, p.smallTypeID as smallTypeId, p.tinyTypeID as tinyTypeId
             p.bigTypeID as bigTypeId, p.smallTypeID as smallTypeId, p.tinyTypeID as tinyTypeId
         from product p
         from product p