From 4c9d70fa25ff2bee6658c14af10ca2def9dd882e Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 29 十月 2020 10:19:58 +0800
Subject: [PATCH] 设置默认规格

---
 service-goods/src/main/java/com/java110/goods/bmo/product/impl/SaveProductBMOImpl.java |   90 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 86 insertions(+), 4 deletions(-)

diff --git a/service-goods/src/main/java/com/java110/goods/bmo/product/impl/SaveProductBMOImpl.java b/service-goods/src/main/java/com/java110/goods/bmo/product/impl/SaveProductBMOImpl.java
index 7f8bb41..8acaf0c 100644
--- a/service-goods/src/main/java/com/java110/goods/bmo/product/impl/SaveProductBMOImpl.java
+++ b/service-goods/src/main/java/com/java110/goods/bmo/product/impl/SaveProductBMOImpl.java
@@ -1,20 +1,44 @@
 package com.java110.goods.bmo.product.impl;
 
+import com.alibaba.fastjson.JSONArray;
 import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.file.FileDto;
+import com.java110.dto.file.FileRelDto;
 import com.java110.goods.bmo.product.ISaveProductBMO;
+import com.java110.intf.common.IFileInnerServiceSMO;
+import com.java110.intf.common.IFileRelInnerServiceSMO;
+import com.java110.intf.goods.IProductDetailInnerServiceSMO;
 import com.java110.intf.goods.IProductInnerServiceSMO;
+import com.java110.intf.goods.IProductSpecValueInnerServiceSMO;
+import com.java110.po.file.FileRelPo;
 import com.java110.po.product.ProductPo;
+import com.java110.po.productDetail.ProductDetailPo;
+import com.java110.po.productSpecValue.ProductSpecValuePo;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 @Service("saveProductBMOImpl")
 public class SaveProductBMOImpl implements ISaveProductBMO {
 
     @Autowired
     private IProductInnerServiceSMO productInnerServiceSMOImpl;
+
+    @Autowired
+    private IFileInnerServiceSMO fileInnerServiceSMOImpl;
+
+    @Autowired
+    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
+
+    @Autowired
+    private IProductSpecValueInnerServiceSMO productSpecValueInnerServiceSMOImpl;
+
+    @Autowired
+    private IProductDetailInnerServiceSMO productDetailInnerServiceSMOImpl;
 
     /**
      * 娣诲姞灏忓尯淇℃伅
@@ -23,16 +47,74 @@
      * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
      */
     @Java110Transactional
-    public ResponseEntity<String> save(ProductPo productPo) {
+    public ResponseEntity<String> save(ProductPo productPo, String coverPhoto, JSONArray carouselFigurePhoto,
+                                       List<ProductSpecValuePo> productSpecValuePos, ProductDetailPo productDetailPo) {
 
         productPo.setProductId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_productId));
         int flag = productInnerServiceSMOImpl.saveProduct(productPo);
 
-        if (flag > 0) {
-            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "淇濆瓨鎴愬姛");
+        if (flag < 1) {
+            return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "淇濆瓨澶辫触");
         }
 
-        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "淇濆瓨澶辫触");
+        //淇濆瓨鍟嗗搧灏侀潰
+        doSavaRentingFile(coverPhoto, productPo, FileRelDto.REL_TYPE_CD_GOODS_COVER);
+        for (int carouselIndex = 0; carouselIndex < carouselFigurePhoto.size(); carouselIndex++) {
+            doSavaRentingFile(carouselFigurePhoto.getString(carouselIndex), productPo, FileRelDto.REL_TYPE_CD_GOODS_CAROUSEL_FIGURE);
+        }
+
+        for (ProductSpecValuePo productSpecValuePo : productSpecValuePos) {
+            productSpecValuePo.setStoreId(productPo.getStoreId());
+            productSpecValuePo.setProductId(productPo.getProductId());
+            productSpecValuePo.setValueId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_valueId));
+            flag = productSpecValueInnerServiceSMOImpl.saveProductSpecValue(productSpecValuePo);
+
+            if (flag < 1) {
+                throw new IllegalArgumentException("淇濆瓨瑙勬牸澶辫触");
+            }
+        }
+
+        productDetailPo.setProductId(productPo.getProductId());
+        productDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_detailId));
+
+        flag = productDetailInnerServiceSMOImpl.saveProductDetail(productDetailPo);
+        if (flag < 1) {
+            throw new IllegalArgumentException("淇濆瓨瑙勬牸澶辫触");
+        }
+
+        return ResultVo.createResponseEntity(ResultVo.CODE_OK, "淇濆瓨鎴愬姛");
+    }
+
+
+    /**
+     * 淇濆瓨鎴垮眿绉熻祦 鍥剧墖
+     *
+     * @param photo
+     * @param productPo
+     */
+    private void doSavaRentingFile(String photo, ProductPo productPo, String fileTypeCd) {
+
+        FileDto fileDto = new FileDto();
+        fileDto.setCommunityId("-1");
+        fileDto.setContext(photo);
+        fileDto.setFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
+        fileDto.setFileName(fileDto.getFileId());
+
+        fileDto.setSuffix("jpeg");
+        String fileName = fileInnerServiceSMOImpl.saveFile(fileDto);
+
+        FileRelPo fileRelPo = new FileRelPo();
+        fileRelPo.setObjId(productPo.getProductId());
+        fileRelPo.setRelTypeCd(fileTypeCd);
+        fileRelPo.setFileRelId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_relId));
+        fileRelPo.setFileRealName(fileName);
+        fileRelPo.setFileSaveName(fileName);
+        fileRelPo.setSaveWay(FileRelDto.SAVE_WAY_FTP);
+        int save = fileRelInnerServiceSMOImpl.saveFileRel(fileRelPo);
+
+        if (save < 1) {
+            throw new IllegalArgumentException("淇濆瓨鏂囦欢澶辫触");
+        }
     }
 
 }

--
Gitblit v1.8.0