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