浏览代码

文章/百科优化part2

Aslee 3 年之前
父节点
当前提交
25ffa2eb10

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

@@ -42,6 +42,9 @@ public class BaikeProductDto {
 	@ApiModelProperty("图片")
 	private String image;
 
+	@ApiModelProperty("产品链接")
+	private String productLink;
+
 	@ApiModelProperty("认证链接")
 	private String authLink;
 

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

@@ -57,6 +57,11 @@ public class BaikeProductPo {
 	 */
 	private String image;
 
+	/**
+	 * 产品链接
+	 */
+	private String productLink;
+
 	/**
 	 * 认证链接
 	 */

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

@@ -54,6 +54,11 @@ public class BaikeProductFormVo {
 	 */
 	private String image;
 
+	/**
+	 * 产品练级
+	 */
+	private String productLink;
+
 	/**
 	 * 认证链接
 	 */

+ 28 - 18
src/main/java/com/caimei365/user/service/impl/ShopServiceImpl.java

@@ -22,6 +22,7 @@ import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.*;
@@ -538,6 +539,7 @@ public class ShopServiceImpl implements ShopService {
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public ResponseJson<Void> saveBaikeProduct(BaikeProductDto baikeProductDto) {
         if (null == baikeProductDto.getShopId()) {
             return ResponseJson.error("参数异常,供应商id不能为空", null);
@@ -571,30 +573,38 @@ public class ShopServiceImpl implements ShopService {
         }
         // 保存参数
         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);
-            }
-        });
+        if (null != paramArray) {
+            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);
+                }
+            });
+        }
         // 保存认证图片
         List<String> authImageList = baikeProductDto.getAuthImageList();
-        authImageList.forEach(authImage-> baikeProductMapper.insertProductImage(authImage, productId, 1));
+        if (null != authImageList) {
+            authImageList.forEach(authImage-> baikeProductMapper.insertProductImage(authImage, productId, 1));
+        }
         // 保存展示图片
         List<String> displayImageList = baikeProductDto.getDisplayImageList();
-        displayImageList.forEach(diplayImage-> baikeProductMapper.insertProductImage(diplayImage, productId, 2));
+        if (null != displayImageList) {
+            displayImageList.forEach(diplayImage-> baikeProductMapper.insertProductImage(diplayImage, productId, 2));
+        }
         // 保存问题
         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);
-            }
-        });
+        if (null != questionArray) {
+            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);
     }
 

+ 4 - 2
src/main/resources/mapper/BaikeProductMapper.xml

@@ -4,12 +4,12 @@
 
     <insert id="insertBaikeProduct" parameterType="com.caimei365.user.model.po.BaikeProductPo" keyProperty="productId" useGeneratedKeys="true">
         insert into cm_baike_product (commodityType, publishSource, auditStatus,onlineStatus, shopId, name, alias, discription, seoKeyword, image,
-                                      authLink,authQrCode, advantage,disadvantage, principle, brand,
+                                      productLink, authLink,authQrCode, advantage,disadvantage, principle, brand,
                                       producePlace, marketTime,company, nmpaTime, adaptiveMan,
                                       unAdaptiveMan, aroundOperation,basePv, actualPv, typeId, emptyNum,
                                       topPosition, status,addTime)
         VALUES (#{commodityType}, #{publishSource}, #{auditStatus}, #{onlineStatus}, #{shopId}, #{name}, #{alias}, #{discription}, #{seoKeyword}, #{image},
-                #{authLink},#{authQrCode}, #{advantage},#{disadvantage}, #{principle}, #{brand},
+                #{productLink},#{authLink},#{authQrCode}, #{advantage},#{disadvantage}, #{principle}, #{brand},
                 #{producePlace}, #{marketTime},#{company}, #{nmpaTime}, #{adaptiveMan},
                 #{unAdaptiveMan}, #{aroundOperation},#{basePv}, #{actualPv}, #{typeId}, #{emptyNum}, null,
                 #{status}, NOW());
@@ -33,6 +33,7 @@
             discription     = #{discription},
             seoKeyword      = #{seoKeyword},
             image           = #{image},
+            productLink     = #{productLink},
             authLink        = #{authLink},
             authQrCode      = #{authQrCode},
             advantage       = #{advantage},
@@ -76,6 +77,7 @@
                discription,
                seoKeyword,
                image,
+               productLink,
                authLink,
                authQrCode,
                advantage,