Browse Source

供应商百科part2

Aslee 3 năm trước cách đây
mục cha
commit
eecb4faaed

+ 6 - 3
src/main/java/com/caimei365/user/model/dto/BaikeProductDto.java

@@ -70,7 +70,7 @@ public class BaikeProductDto {
 	private String company;
 
 	@ApiModelProperty("NMPA认证时间")
-	private Date nmpaTime;
+	private String nmpaTime;
 
 	@ApiModelProperty("适应人群")
 	private String adaptiveMan;
@@ -87,8 +87,11 @@ public class BaikeProductDto {
 	@ApiModelProperty("状态:0停用,1启用")
 	private Integer status;
 
+	@ApiModelProperty("审核状态:1待审核,2审核通过,3审核失败")
+	private Integer auditStatus;
+
 	@ApiModelProperty("参数列表")
-	private List<BaikeProductParamPo> paramList;
+	private String paramList;
 
 	@ApiModelProperty("产品认证图片列表")
 	private List<String> authImageList;
@@ -97,5 +100,5 @@ public class BaikeProductDto {
 	private List<String> displayImageList;
 
 	@ApiModelProperty("问题列表")
-	private List<BaikeProductQuestionPo> questionList;
+	private String questionList;
 }

+ 0 - 4
src/main/java/com/caimei365/user/model/po/BaikeProductParamPo.java

@@ -14,10 +14,6 @@ import java.io.Serializable;
 public class BaikeProductParamPo implements Serializable {
 
 	private static final long serialVersionUID = 1L;
-	/**
-	 * 采美百科商品Id
-	 */
-	private Integer productId;
 	/**
 	 *参数名称
 	 */

+ 1 - 1
src/main/java/com/caimei365/user/model/po/BaikeProductPo.java

@@ -105,7 +105,7 @@ public class BaikeProductPo {
 	/**
 	 * NMPA认证时间
 	 */
-	private Date nmpaTime;
+	private String nmpaTime;
 
 	/**
 	 * 适应人群

+ 0 - 4
src/main/java/com/caimei365/user/model/po/BaikeProductQuestionPo.java

@@ -14,10 +14,6 @@ import java.io.Serializable;
 public class BaikeProductQuestionPo implements Serializable {
 
 	private static final long serialVersionUID = 1L;
-	/**
-	 * 采美百科商品Id
-	 */
-	private Integer productId;
 	/**
 	 * 问题
 	 */

+ 20 - 19
src/main/java/com/caimei365/user/model/vo/BaikeProductFormVo.java

@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import javax.validation.constraints.NotNull;
+import java.util.Date;
 import java.util.List;
 
 
@@ -31,97 +32,97 @@ public class BaikeProductFormVo {
 	/**
 	 * 名称
 	 */
-	private Integer name;
+	private String name;
 
 	/**
 	 * 别名
 	 */
-	private Integer alias;
+	private String alias;
 
 	/**
 	 * 描述
 	 */
-	private Integer discription;
+	private String discription;
 
 	/**
 	 * seo关键词
 	 */
-	private Integer seoKeyword;
+	private String seoKeyword;
 
 	/**
 	 * 图片
 	 */
-	private Integer image;
+	private String image;
 
 	/**
 	 * 认证链接
 	 */
-	private Integer authLink;
+	private String authLink;
 
 	/**
 	 * 认证二维码
 	 */
-	private Integer authQrCode;
+	private String authQrCode;
 
 	/**
 	 * 优点
 	 */
-	private Integer advantage;
+	private String advantage;
 
 	/**
 	 * 缺点
 	 */
-	private Integer disadvantage;
+	private String disadvantage;
 
 	/**
 	 * 原理
 	 */
-	private Integer principle;
+	private String principle;
 
 	/**
 	 * 品牌
 	 */
-	private Integer brand;
+	private String brand;
 
 	/**
 	 * 产地
 	 */
-	private Integer producePlace;
+	private String producePlace;
 
 	/**
 	 * 上市时间
 	 */
-	private Integer marketTime;
+	private Date marketTime;
 
 	/**
 	 * 公司/供应商
 	 */
-	private Integer company;
+	private String company;
 
 	/**
 	 * NMPA认证时间
 	 */
-	private Integer nmpaTime;
+	private Date nmpaTime;
 
 	/**
 	 * 适应人群
 	 */
-	private Integer adaptiveMan;
+	private String adaptiveMan;
 
 	/**
 	 * 不适应人群
 	 */
-	private Integer unAdaptiveMan;
+	private String unAdaptiveMan;
 
 	/**
 	 * 术前术后
 	 */
-	private Integer aroundOperation;
+	private String aroundOperation;
 
 	/**
 	 * 发布时间
 	 */
-	private Integer publishTime;
+	private Date publishTime;
 
 	/**
 	 * 分类id

+ 5 - 0
src/main/java/com/caimei365/user/model/vo/BaikeProductListVo.java

@@ -50,6 +50,11 @@ public class BaikeProductListVo {
 	 */
 	private Integer auditStatus;
 
+    /**
+     * 审核失败原因
+     */
+    private String failReason;
+
 	/**
 	 * 添加时间
 	 */

+ 20 - 9
src/main/java/com/caimei365/user/service/impl/ShopServiceImpl.java

@@ -1,5 +1,7 @@
 package com.caimei365.user.service.impl;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.caimei365.user.feign.CommodityFeign;
 import com.caimei365.user.mapper.*;
 import com.caimei365.user.model.ResponseJson;
@@ -564,10 +566,13 @@ public class ShopServiceImpl implements ShopService {
             baikeProductMapper.deleteQuestionsByProductId(productId);
         }
         // 保存参数
-        List<BaikeProductParamPo> paramList = baikeProductDto.getParamList();
-        paramList.forEach(param->{
-            if (StringUtils.isNotEmpty(param.getName()) && StringUtils.isNotEmpty(param.getContent())) {
-                baikeProductMapper.insertProductParam(param.getName(), param.getContent(), productId);
+        JSONArray paramArray = JSONArray.parseArray(baikeProductDto.getParamList());
+        paramArray.forEach(paramObject->{
+            Map<String,String> paramMap = (Map<String,String>) paramObject;
+            String name = paramMap.get("name");
+            String content = paramMap.get("content");
+            if (StringUtils.isNotEmpty(name) && StringUtils.isNotEmpty(content)) {
+                baikeProductMapper.insertProductParam(name, content, productId);
             }
         });
         // 保存认证图片
@@ -577,10 +582,13 @@ public class ShopServiceImpl implements ShopService {
         List<String> displayImageList = baikeProductDto.getDisplayImageList();
         displayImageList.forEach(diplayImage-> baikeProductMapper.insertProductImage(diplayImage, productId, 2));
         // 保存问题
-        List<BaikeProductQuestionPo> questionList = baikeProductDto.getQuestionList();
-        questionList.forEach(question->{
-            if (StringUtils.isNotEmpty(question.getQuestion()) && StringUtils.isNotEmpty(question.getAnswer())) {
-                baikeProductMapper.insertProductQuestion(question.getQuestion(), question.getAnswer(), productId);
+        JSONArray questionArray = JSONArray.parseArray(baikeProductDto.getQuestionList());
+        questionArray.forEach(questionObject->{
+            Map<String,String> questionMap = (Map<String,String>) questionObject;
+            String question = questionMap.get("question");
+            String answer = questionMap.get("answer");
+            if (StringUtils.isNotEmpty(question) && StringUtils.isNotEmpty(answer)) {
+                baikeProductMapper.insertProductQuestion(question, answer, productId);
             }
         });
         return ResponseJson.success(null);
@@ -593,6 +601,9 @@ public class ShopServiceImpl implements ShopService {
         }
         // 查询商品信息
         BaikeProductFormVo baikeProduct = baikeProductMapper.getBaikeProductById(productId);
+        if (null == baikeProduct) {
+            return ResponseJson.error("百科不存在", null);
+        }
         // 参数列表
         List<BaikeProductParamPo> paramList = baikeProductMapper.getParamList(productId);
         baikeProduct.setParamList(paramList);
@@ -611,7 +622,7 @@ public class ShopServiceImpl implements ShopService {
 
     @Override
     public ResponseJson<PageInfo<BaikeProductListVo>> getBaikeProductList(BaikeProductDto baikeProductDto, int pageNum, int pageSize) {
-        if (null == baikeProductDto.getShopId()) {
+        if (null == baikeProductDto.getShopId() || null == baikeProductDto.getCommodityType()) {
             return ResponseJson.error("参数异常", null);
         }
         PageHelper.startPage(pageNum, pageSize);

+ 8 - 8
src/main/resources/mapper/BaikeProductMapper.xml

@@ -3,12 +3,12 @@
 <mapper namespace="com.caimei365.user.mapper.BaikeProductMapper">
 
     <insert id="insertBaikeProduct" parameterType="com.caimei365.user.model.po.BaikeProductPo" keyProperty="productId" useGeneratedKeys="true">
-        insert into cm_baike_product (commodityType, name, alias, discription, seoKeyword, image,
+        insert into cm_baike_product (commodityType, publishSource, shopId, name, alias, discription, seoKeyword, image,
                                       authLink,authQrCode, advantage,disadvantage, principle, brand,
                                       producePlace, marketTime,company, nmpaTime, adaptiveMan,
                                       unAdaptiveMan, aroundOperation,basePv, actualPv, typeId,
                                       topPosition, status,addTime)
-        VALUES (#{commodityType}, #{name}, #{alias}, #{discription}, #{seoKeyword}, #{image},
+        VALUES (#{commodityType}, #{publishSource}, #{shopId}, #{name}, #{alias}, #{discription}, #{seoKeyword}, #{image},
                 #{authLink},#{authQrCode}, #{advantage},#{disadvantage}, #{principle}, #{brand},
                 #{producePlace}, #{marketTime},#{company}, #{nmpaTime}, #{adaptiveMan},
                 #{unAdaptiveMan}, #{aroundOperation},#{basePv}, #{actualPv}, #{typeId}, null,
@@ -89,10 +89,10 @@
                typeId,
                status
         from cm_baike_product
-        where id = #{productId}
+        where id = #{productId} and delFlag = 0
     </select>
     <select id="getBaikeProductTypeList" resultType="com.caimei365.user.model.vo.BaikeProductTypeVo">
-        select id as typeId, name as typeName from cm_baike_type where status = 1 order by sort desc,addTime desc
+        select id as typeId, name as typeName from cm_baike_type where status = 1 and typeSort = #{commodityType} order by sort desc,addTime desc
     </select>
     <select id="getBaikeProductList" resultType="com.caimei365.user.model.vo.BaikeProductListVo">
         select p.id     as productId,
@@ -105,7 +105,7 @@
                p.status
         from cm_baike_product p
                  left join cm_baike_type cbt on p.typeId = cbt.id
-        where shopId = #{shopId} and publishSource = 2
+        where shopId = #{shopId} and publishSource = 2 and commodityType = #{commodityType} and delFlag = 0
         <if test="productId != null">
             and p.id = #{productId}
         </if>
@@ -121,14 +121,14 @@
         order by p.addTime desc
     </select>
     <select id="getParamList" resultType="com.caimei365.user.model.po.BaikeProductParamPo">
-        select productId, name, content from cm_baike_product_param where productId = #{id}
+        select name, content from cm_baike_product_param where productId = #{productId}
     </select>
     <select id="getImageList" resultType="java.lang.String">
         select image from cm_baike_product_image where productId = #{productId} and type = #{imageType}
     </select>
     <select id="getQuestionList" resultType="com.caimei365.user.model.po.BaikeProductQuestionPo">
-        select productId, question, answer
+        select question, answer
         from cm_baike_product_question
-        where productId = #{id}
+        where productId = #{productId}
     </select>
 </mapper>