From e57e32fc43da31917912eebb4e47d4e50df1a9e9 Mon Sep 17 00:00:00 2001
From: shiyj1101 <1098226878@qq.com>
Date: 星期四, 05 八月 2021 22:56:15 +0800
Subject: [PATCH] 完善格式化功能
---
service-goods/src/main/java/com/java110/goods/api/ProductApi.java | 271 +++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 258 insertions(+), 13 deletions(-)
diff --git a/service-goods/src/main/java/com/java110/goods/api/ProductApi.java b/service-goods/src/main/java/com/java110/goods/api/ProductApi.java
old mode 100644
new mode 100755
index 7c28913..1e210cf
--- a/service-goods/src/main/java/com/java110/goods/api/ProductApi.java
+++ b/service-goods/src/main/java/com/java110/goods/api/ProductApi.java
@@ -6,6 +6,8 @@
import com.java110.dto.product.ProductSpecDetailDto;
import com.java110.dto.product.ProductSpecDto;
import com.java110.dto.productAttr.ProductAttrDto;
+import com.java110.dto.productDetail.ProductDetailDto;
+import com.java110.dto.productLabel.ProductLabelDto;
import com.java110.dto.productSpecValue.ProductSpecValueDto;
import com.java110.goods.bmo.product.IDeleteProductBMO;
import com.java110.goods.bmo.product.IGetProductBMO;
@@ -15,6 +17,14 @@
import com.java110.goods.bmo.productAttr.IGetProductAttrBMO;
import com.java110.goods.bmo.productAttr.ISaveProductAttrBMO;
import com.java110.goods.bmo.productAttr.IUpdateProductAttrBMO;
+import com.java110.goods.bmo.productDetail.IDeleteProductDetailBMO;
+import com.java110.goods.bmo.productDetail.IGetProductDetailBMO;
+import com.java110.goods.bmo.productDetail.ISaveProductDetailBMO;
+import com.java110.goods.bmo.productDetail.IUpdateProductDetailBMO;
+import com.java110.goods.bmo.productLabel.IDeleteProductLabelBMO;
+import com.java110.goods.bmo.productLabel.IGetProductLabelBMO;
+import com.java110.goods.bmo.productLabel.ISaveProductLabelBMO;
+import com.java110.goods.bmo.productLabel.IUpdateProductLabelBMO;
import com.java110.goods.bmo.productSpec.IDeleteProductSpecBMO;
import com.java110.goods.bmo.productSpec.IGetProductSpecBMO;
import com.java110.goods.bmo.productSpec.ISaveProductSpecBMO;
@@ -31,17 +41,14 @@
import com.java110.po.product.ProductSpecDetailPo;
import com.java110.po.product.ProductSpecPo;
import com.java110.po.productAttr.ProductAttrPo;
+import com.java110.po.productDetail.ProductDetailPo;
+import com.java110.po.productLabel.ProductLabelPo;
import com.java110.po.productSpecValue.ProductSpecValuePo;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestHeader;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@@ -50,6 +57,16 @@
@RestController
@RequestMapping(value = "/product")
public class ProductApi {
+
+ @Autowired
+ private ISaveProductLabelBMO saveProductLabelBMOImpl;
+ @Autowired
+ private IUpdateProductLabelBMO updateProductLabelBMOImpl;
+ @Autowired
+ private IDeleteProductLabelBMO deleteProductLabelBMOImpl;
+
+ @Autowired
+ private IGetProductLabelBMO getProductLabelBMOImpl;
@Autowired
private ISaveProductBMO saveProductBMOImpl;
@@ -102,6 +119,17 @@
private IGetProductAttrBMO getProductAttrBMOImpl;
+ @Autowired
+ private ISaveProductDetailBMO saveProductDetailBMOImpl;
+ @Autowired
+ private IUpdateProductDetailBMO updateProductDetailBMOImpl;
+ @Autowired
+ private IDeleteProductDetailBMO deleteProductDetailBMOImpl;
+
+ @Autowired
+ private IGetProductDetailBMO getProductDetailBMOImpl;
+
+
/**
* 寰俊淇濆瓨娑堟伅妯℃澘
*
@@ -121,9 +149,10 @@
Assert.hasKeyAndValue(reqJson, "sort", "璇锋眰鎶ユ枃涓湭鍖呭惈sort");
Assert.hasKeyAndValue(reqJson, "isPostage", "璇锋眰鎶ユ枃涓湭鍖呭惈isPostage");
Assert.hasKeyAndValue(reqJson, "coverPhoto", "璇锋眰鎶ユ枃涓湭鍖呭惈鍟嗗搧灏侀潰");
+ Assert.hasKeyAndValue(reqJson, "content", "璇锋眰鎶ユ枃涓湭鍖呭惈鍟嗗搧鎻忚堪");
- Assert.hasKey(reqJson,"carouselFigurePhoto","璇锋眰鎶ユ枃涓湭鍖呭惈杞挱鍥�");
- Assert.hasKey(reqJson,"productSpecs","璇锋眰鎶ユ枃涓湭鍖呭惈瑙勬牸淇℃伅");
+ Assert.hasKey(reqJson, "carouselFigurePhoto", "璇锋眰鎶ユ枃涓湭鍖呭惈杞挱鍥�");
+ Assert.hasKey(reqJson, "productSpecs", "璇锋眰鎶ユ枃涓湭鍖呭惈瑙勬牸淇℃伅");
String coverPhoto = reqJson.getString("coverPhoto");
@@ -131,23 +160,37 @@
JSONArray productSpecs = reqJson.getJSONArray("productSpecs");
- if(carouselFigurePhoto.size() < 1){
+ if (carouselFigurePhoto.size() < 1) {
throw new IllegalArgumentException("璇锋眰鎶ユ枃涓湭鍖呭惈杞挱鍥�");
}
- if(productSpecs.size() < 1){
+ if (productSpecs.size() < 1) {
throw new IllegalArgumentException("璇锋眰鎶ユ枃涓湭鍖呭惈瑙勬牸淇℃伅");
}
JSONObject spec = null;
List<ProductSpecValuePo> productSpecValuePos = new ArrayList<>();
+ boolean hasDefault = false;
+ ProductSpecValuePo productSpecValuePo = null;
for (int specIndex = 0; specIndex < productSpecs.size(); specIndex++) {
spec = productSpecs.getJSONObject(specIndex);
- productSpecValuePos.add(BeanConvertUtil.covertBean(spec,ProductSpecValuePo.class));
+ productSpecValuePo = BeanConvertUtil.covertBean(spec, ProductSpecValuePo.class);
+ productSpecValuePos.add(productSpecValuePo);
+ if("T".equals(productSpecValuePo.getIsDefault())){
+ hasDefault = true;
+ }
+ }
+
+ if(!hasDefault){
+ throw new IllegalArgumentException("璇锋眰鎶ユ枃涓湭鍖呭惈榛樿瑙勬牸");
}
ProductPo productPo = BeanConvertUtil.covertBean(reqJson, ProductPo.class);
productPo.setStoreId(storeId);
- return saveProductBMOImpl.save(productPo,coverPhoto,carouselFigurePhoto,productSpecValuePos);
+
+ ProductDetailPo productDetailPo = new ProductDetailPo();
+ productDetailPo.setStoreId(storeId);
+ productDetailPo.setContent(reqJson.getString("content"));
+ return saveProductBMOImpl.save(productPo, coverPhoto, carouselFigurePhoto, productSpecValuePos, productDetailPo);
}
/**
@@ -169,10 +212,44 @@
Assert.hasKeyAndValue(reqJson, "isPostage", "璇锋眰鎶ユ枃涓湭鍖呭惈isPostage");
Assert.hasKeyAndValue(reqJson, "productId", "productId涓嶈兘涓虹┖");
+ String coverPhoto = reqJson.containsKey("coverPhoto") ? reqJson.getString("coverPhoto") : "";
+ JSONArray carouselFigurePhoto = reqJson.containsKey("carouselFigurePhoto") ? reqJson.getJSONArray("carouselFigurePhoto") : null;
+
+ JSONArray productSpecs = reqJson.containsKey("productSpecs") ? reqJson.getJSONArray("productSpecs") : null;
+
+ JSONObject spec = null;
+ List<ProductSpecValuePo> productSpecValuePos = null;
+
+ boolean hasDefault = false;
+ ProductSpecValuePo productSpecValuePo = null;
+ if (productSpecs != null) {
+ productSpecValuePos = new ArrayList<>();
+ for (int specIndex = 0; specIndex < productSpecs.size(); specIndex++) {
+ spec = productSpecs.getJSONObject(specIndex);
+ productSpecValuePo = BeanConvertUtil.covertBean(spec, ProductSpecValuePo.class);
+ productSpecValuePos.add(productSpecValuePo);
+ if("T".equals(productSpecValuePo.getIsDefault())){
+ hasDefault = true;
+ }
+ }
+ }
+
+ if(!hasDefault){
+ throw new IllegalArgumentException("璇锋眰鎶ユ枃涓湭鍖呭惈榛樿瑙勬牸");
+ }
ProductPo productPo = BeanConvertUtil.covertBean(reqJson, ProductPo.class);
productPo.setStoreId(storeId);
- return updateProductBMOImpl.update(productPo);
+
+
+ ProductDetailPo productDetailPo = null;
+ if (reqJson.containsKey("content")) {
+ productDetailPo = new ProductDetailPo();
+ productDetailPo.setStoreId(storeId);
+ productDetailPo.setContent(reqJson.getString("content"));
+ }
+
+ return updateProductBMOImpl.update(productPo, coverPhoto, carouselFigurePhoto, productSpecValuePos, productDetailPo);
}
/**
@@ -206,12 +283,14 @@
*/
@RequestMapping(value = "/queryProduct", method = RequestMethod.GET)
public ResponseEntity<String> queryProduct(@RequestHeader(value = "store-id") String storeId,
+ @RequestParam(value = "productId", required = false) String productId,
@RequestParam(value = "page") int page,
@RequestParam(value = "row") int row) {
ProductDto productDto = new ProductDto();
productDto.setPage(page);
productDto.setRow(row);
productDto.setStoreId(storeId);
+ productDto.setProductId(productId);
return getProductBMOImpl.get(productDto);
}
@@ -603,4 +682,170 @@
productAttrDto.setProductId(productId);
return getProductAttrBMOImpl.get(productAttrDto);
}
+
+
+ /**
+ * 寰俊淇濆瓨娑堟伅妯℃澘
+ *
+ * @param reqJson
+ * @return
+ * @serviceCode /product/saveProductDetail
+ * @path /app/product/saveProductDetail
+ */
+ @RequestMapping(value = "/saveProductDetail", method = RequestMethod.POST)
+ public ResponseEntity<String> saveProductDetail(@RequestBody JSONObject reqJson,
+ @RequestHeader(value = "store-id") String storeId) {
+
+ Assert.hasKeyAndValue(reqJson, "productId", "璇锋眰鎶ユ枃涓湭鍖呭惈productId");
+ Assert.hasKeyAndValue(reqJson, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId");
+ Assert.hasKeyAndValue(reqJson, "content", "璇锋眰鎶ユ枃涓湭鍖呭惈content");
+
+
+ ProductDetailPo productDetailPo = BeanConvertUtil.covertBean(reqJson, ProductDetailPo.class);
+ productDetailPo.setStoreId(storeId);
+ return saveProductDetailBMOImpl.save(productDetailPo);
+ }
+
+ /**
+ * 寰俊淇敼娑堟伅妯℃澘
+ *
+ * @param reqJson
+ * @return
+ * @serviceCode /product/updateProductDetail
+ * @path /app/product/updateProductDetail
+ */
+ @RequestMapping(value = "/updateProductDetail", method = RequestMethod.POST)
+ public ResponseEntity<String> updateProductDetail(@RequestBody JSONObject reqJson,
+ @RequestHeader(value = "store-id") String storeId) {
+
+ Assert.hasKeyAndValue(reqJson, "productId", "璇锋眰鎶ユ枃涓湭鍖呭惈productId");
+ Assert.hasKeyAndValue(reqJson, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId");
+ Assert.hasKeyAndValue(reqJson, "content", "璇锋眰鎶ユ枃涓湭鍖呭惈content");
+ Assert.hasKeyAndValue(reqJson, "detailId", "detailId涓嶈兘涓虹┖");
+
+
+ ProductDetailPo productDetailPo = BeanConvertUtil.covertBean(reqJson, ProductDetailPo.class);
+ productDetailPo.setStoreId(storeId);
+ return updateProductDetailBMOImpl.update(productDetailPo);
+ }
+
+ /**
+ * 寰俊鍒犻櫎娑堟伅妯℃澘
+ *
+ * @param reqJson
+ * @return
+ * @serviceCode /product/deleteProductDetail
+ * @path /app/product/deleteProductDetail
+ */
+ @RequestMapping(value = "/deleteProductDetail", method = RequestMethod.POST)
+ public ResponseEntity<String> deleteProductDetail(@RequestBody JSONObject reqJson, @RequestHeader(value = "store-id") String storeId) {
+ Assert.hasKeyAndValue(reqJson, "communityId", "灏忓尯ID涓嶈兘涓虹┖");
+
+ Assert.hasKeyAndValue(reqJson, "detailId", "detailId涓嶈兘涓虹┖");
+
+
+ ProductDetailPo productDetailPo = BeanConvertUtil.covertBean(reqJson, ProductDetailPo.class);
+ productDetailPo.setStoreId(storeId);
+ return deleteProductDetailBMOImpl.delete(productDetailPo);
+ }
+
+ /**
+ * 寰俊鍒犻櫎娑堟伅妯℃澘
+ *
+ * @param storeId 灏忓尯ID
+ * @return
+ * @serviceCode /product/queryProductDetail
+ * @path /app/product/queryProductDetail
+ */
+ @RequestMapping(value = "/queryProductDetail", method = RequestMethod.GET)
+ public ResponseEntity<String> queryProductDetail(@RequestHeader(value = "store-id") String storeId,
+ @RequestParam(value = "productId") String productId,
+ @RequestParam(value = "page") int page,
+ @RequestParam(value = "row") int row) {
+ ProductDetailDto productDetailDto = new ProductDetailDto();
+ productDetailDto.setPage(page);
+ productDetailDto.setRow(row);
+ productDetailDto.setStoreId(storeId);
+ productDetailDto.setProductId(productId);
+ return getProductDetailBMOImpl.get(productDetailDto);
+ }
+
+
+ /**
+ * 寰俊淇濆瓨娑堟伅妯℃澘
+ *
+ * @param reqJson
+ * @return
+ * @serviceCode /product/saveProductLabel
+ * @path /app/product/saveProductLabel
+ */
+ @RequestMapping(value = "/saveProductLabel", method = RequestMethod.POST)
+ public ResponseEntity<String> saveProductLabel(@RequestBody JSONObject reqJson) {
+
+ Assert.hasKeyAndValue(reqJson, "labelCd", "璇锋眰鎶ユ枃涓湭鍖呭惈labelCd");
+ Assert.hasKeyAndValue(reqJson, "productId", "璇锋眰鎶ユ枃涓湭鍖呭惈productId");
+
+
+ ProductLabelPo productLabelPo = BeanConvertUtil.covertBean(reqJson, ProductLabelPo.class);
+ return saveProductLabelBMOImpl.save(productLabelPo);
+ }
+
+ /**
+ * 寰俊淇敼娑堟伅妯℃澘
+ *
+ * @param reqJson
+ * @return
+ * @serviceCode /product/updateProductLabel
+ * @path /app/product/updateProductLabel
+ */
+ @RequestMapping(value = "/updateProductLabel", method = RequestMethod.POST)
+ public ResponseEntity<String> updateProductLabel(@RequestBody JSONObject reqJson) {
+
+ Assert.hasKeyAndValue(reqJson, "labelCd", "璇锋眰鎶ユ枃涓湭鍖呭惈labelCd");
+ Assert.hasKeyAndValue(reqJson, "productId", "璇锋眰鎶ユ枃涓湭鍖呭惈productId");
+ Assert.hasKeyAndValue(reqJson, "labelId", "labelId涓嶈兘涓虹┖");
+
+
+ ProductLabelPo productLabelPo = BeanConvertUtil.covertBean(reqJson, ProductLabelPo.class);
+ return updateProductLabelBMOImpl.update(productLabelPo);
+ }
+
+ /**
+ * 寰俊鍒犻櫎娑堟伅妯℃澘
+ *
+ * @param reqJson
+ * @return
+ * @serviceCode /product/deleteProductLabel
+ * @path /app/product/deleteProductLabel
+ */
+ @RequestMapping(value = "/deleteProductLabel", method = RequestMethod.POST)
+ public ResponseEntity<String> deleteProductLabel(@RequestBody JSONObject reqJson) {
+
+ Assert.hasKeyAndValue(reqJson, "labelId", "labelId涓嶈兘涓虹┖");
+
+
+ ProductLabelPo productLabelPo = BeanConvertUtil.covertBean(reqJson, ProductLabelPo.class);
+ return deleteProductLabelBMOImpl.delete(productLabelPo);
+ }
+
+ /**
+ * 寰俊鍒犻櫎娑堟伅妯℃澘
+ *
+ * @return
+ * @serviceCode /product/queryProductLabel
+ * @path /app/product/queryProductLabel
+ */
+ @RequestMapping(value = "/queryProductLabel", method = RequestMethod.GET)
+ public ResponseEntity<String> queryProductLabel(@RequestParam(value = "labelCd", required = false) String labelCd,
+ @RequestParam(value = "hasProduct", required = false) String hasProduct,
+ @RequestParam(value = "page") int page,
+ @RequestParam(value = "row") int row) {
+ ProductLabelDto productLabelDto = new ProductLabelDto();
+ productLabelDto.setPage(page);
+ productLabelDto.setRow(row);
+ productLabelDto.setLabelCd(labelCd);
+ productLabelDto.setHasProduct(hasProduct);
+ return getProductLabelBMOImpl.get(productLabelDto);
+ }
+
}
--
Gitblit v1.8.0