From 395afb2788b70d9ce7d95d4484fb7ddcea9b0048 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期五, 09 十月 2020 23:45:22 +0800
Subject: [PATCH] 优化商品规格
---
service-goods/src/main/java/com/java110/goods/api/ProductApi.java | 332 +++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 296 insertions(+), 36 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
index 28a8ba4..c8061f0 100644
--- a/service-goods/src/main/java/com/java110/goods/api/ProductApi.java
+++ b/service-goods/src/main/java/com/java110/goods/api/ProductApi.java
@@ -1,13 +1,20 @@
package com.java110.goods.api;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.dto.product.ProductDto;
import com.java110.dto.product.ProductSpecDetailDto;
import com.java110.dto.product.ProductSpecDto;
+import com.java110.dto.productAttr.ProductAttrDto;
+import com.java110.dto.productSpecValue.ProductSpecValueDto;
import com.java110.goods.bmo.product.IDeleteProductBMO;
import com.java110.goods.bmo.product.IGetProductBMO;
import com.java110.goods.bmo.product.ISaveProductBMO;
import com.java110.goods.bmo.product.IUpdateProductBMO;
+import com.java110.goods.bmo.productAttr.IDeleteProductAttrBMO;
+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.productSpec.IDeleteProductSpecBMO;
import com.java110.goods.bmo.productSpec.IGetProductSpecBMO;
import com.java110.goods.bmo.productSpec.ISaveProductSpecBMO;
@@ -16,14 +23,28 @@
import com.java110.goods.bmo.productSpecDetail.IGetProductSpecDetailBMO;
import com.java110.goods.bmo.productSpecDetail.ISaveProductSpecDetailBMO;
import com.java110.goods.bmo.productSpecDetail.IUpdateProductSpecDetailBMO;
+import com.java110.goods.bmo.productSpecValue.IDeleteProductSpecValueBMO;
+import com.java110.goods.bmo.productSpecValue.IGetProductSpecValueBMO;
+import com.java110.goods.bmo.productSpecValue.ISaveProductSpecValueBMO;
+import com.java110.goods.bmo.productSpecValue.IUpdateProductSpecValueBMO;
import com.java110.po.product.ProductPo;
import com.java110.po.product.ProductSpecDetailPo;
import com.java110.po.product.ProductSpecPo;
+import com.java110.po.productAttr.ProductAttrPo;
+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.*;
+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 java.util.ArrayList;
+import java.util.List;
@RestController
@@ -60,6 +81,26 @@
@Autowired
private IGetProductSpecDetailBMO getProductSpecDetailBMOImpl;
+ @Autowired
+ private ISaveProductSpecValueBMO saveProductSpecValueBMOImpl;
+ @Autowired
+ private IUpdateProductSpecValueBMO updateProductSpecValueBMOImpl;
+ @Autowired
+ private IDeleteProductSpecValueBMO deleteProductSpecValueBMOImpl;
+
+ @Autowired
+ private IGetProductSpecValueBMO getProductSpecValueBMOImpl;
+
+ @Autowired
+ private ISaveProductAttrBMO saveProductAttrBMOImpl;
+ @Autowired
+ private IUpdateProductAttrBMO updateProductAttrBMOImpl;
+ @Autowired
+ private IDeleteProductAttrBMO deleteProductAttrBMOImpl;
+
+ @Autowired
+ private IGetProductAttrBMO getProductAttrBMOImpl;
+
/**
* 寰俊淇濆瓨娑堟伅妯℃澘
@@ -70,10 +111,10 @@
* @path /app/product/saveProduct
*/
@RequestMapping(value = "/saveProduct", method = RequestMethod.POST)
- public ResponseEntity<String> saveProduct(@RequestBody JSONObject reqJson) {
+ public ResponseEntity<String> saveProduct(@RequestBody JSONObject reqJson,
+ @RequestHeader(value = "store-id") String storeId) {
Assert.hasKeyAndValue(reqJson, "prodName", "璇锋眰鎶ユ枃涓湭鍖呭惈prodName");
- Assert.hasKeyAndValue(reqJson, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId");
Assert.hasKeyAndValue(reqJson, "keyword", "璇锋眰鎶ユ枃涓湭鍖呭惈keyword");
Assert.hasKeyAndValue(reqJson, "categoryId", "璇锋眰鎶ユ枃涓湭鍖呭惈categoryId");
Assert.hasKeyAndValue(reqJson, "unitName", "璇锋眰鎶ユ枃涓湭鍖呭惈unitName");
@@ -82,6 +123,7 @@
ProductPo productPo = BeanConvertUtil.covertBean(reqJson, ProductPo.class);
+ productPo.setStoreId(storeId);
return saveProductBMOImpl.save(productPo);
}
@@ -94,10 +136,9 @@
* @path /app/product/updateProduct
*/
@RequestMapping(value = "/updateProduct", method = RequestMethod.POST)
- public ResponseEntity<String> updateProduct(@RequestBody JSONObject reqJson) {
+ public ResponseEntity<String> updateProduct(@RequestBody JSONObject reqJson, @RequestHeader(value = "store-id") String storeId) {
Assert.hasKeyAndValue(reqJson, "prodName", "璇锋眰鎶ユ枃涓湭鍖呭惈prodName");
- Assert.hasKeyAndValue(reqJson, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId");
Assert.hasKeyAndValue(reqJson, "keyword", "璇锋眰鎶ユ枃涓湭鍖呭惈keyword");
Assert.hasKeyAndValue(reqJson, "categoryId", "璇锋眰鎶ユ枃涓湭鍖呭惈categoryId");
Assert.hasKeyAndValue(reqJson, "unitName", "璇锋眰鎶ユ枃涓湭鍖呭惈unitName");
@@ -107,6 +148,7 @@
ProductPo productPo = BeanConvertUtil.covertBean(reqJson, ProductPo.class);
+ productPo.setStoreId(storeId);
return updateProductBMOImpl.update(productPo);
}
@@ -119,13 +161,15 @@
* @path /app/product/deleteProduct
*/
@RequestMapping(value = "/deleteProduct", method = RequestMethod.POST)
- public ResponseEntity<String> deleteProduct(@RequestBody JSONObject reqJson) {
+ public ResponseEntity<String> deleteProduct(@RequestBody JSONObject reqJson,
+ @RequestHeader(value = "store-id") String storeId) {
Assert.hasKeyAndValue(reqJson, "communityId", "灏忓尯ID涓嶈兘涓虹┖");
Assert.hasKeyAndValue(reqJson, "productId", "productId涓嶈兘涓虹┖");
ProductPo productPo = BeanConvertUtil.covertBean(reqJson, ProductPo.class);
+ productPo.setStoreId(storeId);
return deleteProductBMOImpl.delete(productPo);
}
@@ -150,65 +194,92 @@
/**
* 寰俊淇濆瓨娑堟伅妯℃澘
- * @serviceCode /product/saveProductSpec
- * @path /app/product/saveProductSpec
+ *
* @param reqJson
* @return
+ * @serviceCode /product/saveProductSpec
+ * @path /app/product/saveProductSpec
*/
@RequestMapping(value = "/saveProductSpec", method = RequestMethod.POST)
- public ResponseEntity<String> saveProductSpec(@RequestBody JSONObject reqJson) {
+ public ResponseEntity<String> saveProductSpec(@RequestBody JSONObject reqJson,
+ @RequestHeader(value = "store-id") String storeId) {
Assert.hasKeyAndValue(reqJson, "specName", "璇锋眰鎶ユ枃涓湭鍖呭惈specName");
- Assert.hasKeyAndValue(reqJson, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId");
+
+ if (!reqJson.containsKey("specDetails")) {
+ throw new IllegalArgumentException("鏈寘鍚鏍间俊鎭�");
+ }
+
+ JSONArray specDetails = reqJson.getJSONArray("specDetails");
+
+ if(specDetails.size() < 1){
+ throw new IllegalArgumentException("鏈寘鍚鏍间俊鎭�");
+ }
+ ProductSpecDetailPo productSpecDetailPo = null;
+ JSONObject specDetail = null;
+ List<ProductSpecDetailPo> productSpecDetailPos = new ArrayList<>();
+ for(int detailIndex = 0 ; detailIndex < specDetails.size(); detailIndex ++){
+ specDetail = specDetails.getJSONObject(detailIndex);
+ Assert.hasKeyAndValue(specDetail,"detailName","鏈寘鍚鏍�");
+ Assert.hasKeyAndValue(specDetail,"detailValue","鏈寘鍚鏍煎��");
+ productSpecDetailPo = BeanConvertUtil.covertBean(specDetail,ProductSpecDetailPo.class);
+ productSpecDetailPos.add(productSpecDetailPo);
+ }
ProductSpecPo productSpecPo = BeanConvertUtil.covertBean(reqJson, ProductSpecPo.class);
- return saveProductSpecBMOImpl.save(productSpecPo);
+ productSpecPo.setStoreId(storeId);
+ return saveProductSpecBMOImpl.save(productSpecPo,productSpecDetailPos);
}
/**
* 寰俊淇敼娑堟伅妯℃澘
- * @serviceCode /product/updateProductSpec
- * @path /app/product/updateProductSpec
+ *
* @param reqJson
* @return
+ * @serviceCode /product/updateProductSpec
+ * @path /app/product/updateProductSpec
*/
@RequestMapping(value = "/updateProductSpec", method = RequestMethod.POST)
- public ResponseEntity<String> updateProductSpec(@RequestBody JSONObject reqJson) {
+ public ResponseEntity<String> updateProductSpec(@RequestBody JSONObject reqJson,
+ @RequestHeader(value = "store-id") String storeId) {
Assert.hasKeyAndValue(reqJson, "specName", "璇锋眰鎶ユ枃涓湭鍖呭惈specName");
- Assert.hasKeyAndValue(reqJson, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId");
Assert.hasKeyAndValue(reqJson, "specId", "specId涓嶈兘涓虹┖");
ProductSpecPo productSpecPo = BeanConvertUtil.covertBean(reqJson, ProductSpecPo.class);
+ productSpecPo.setStoreId(storeId);
return updateProductSpecBMOImpl.update(productSpecPo);
}
/**
* 寰俊鍒犻櫎娑堟伅妯℃澘
- * @serviceCode /product/deleteProductSpec
- * @path /app/product/deleteProductSpec
+ *
* @param reqJson
* @return
+ * @serviceCode /product/deleteProductSpec
+ * @path /app/product/deleteProductSpec
*/
@RequestMapping(value = "/deleteProductSpec", method = RequestMethod.POST)
- public ResponseEntity<String> deleteProductSpec(@RequestBody JSONObject reqJson) {
- Assert.hasKeyAndValue(reqJson, "communityId", "灏忓尯ID涓嶈兘涓虹┖");
+ public ResponseEntity<String> deleteProductSpec(@RequestBody JSONObject reqJson,
+ @RequestHeader(value = "store-id") String storeId) {
Assert.hasKeyAndValue(reqJson, "specId", "specId涓嶈兘涓虹┖");
ProductSpecPo productSpecPo = BeanConvertUtil.covertBean(reqJson, ProductSpecPo.class);
+ productSpecPo.setStoreId(storeId);
return deleteProductSpecBMOImpl.delete(productSpecPo);
}
/**
* 寰俊鍒犻櫎娑堟伅妯℃澘
- * @serviceCode /product/queryProductSpec
- * @path /app/product/queryProductSpec
+ *
* @param storeId 鍟嗘埛ID
* @return
+ * @serviceCode /product/queryProductSpec
+ * @path /app/product/queryProductSpec
*/
@RequestMapping(value = "/queryProductSpec", method = RequestMethod.GET)
public ResponseEntity<String> queryProductSpec(@RequestHeader(value = "store-id") String storeId,
@@ -224,73 +295,80 @@
/**
* 寰俊淇濆瓨娑堟伅妯℃澘
- * @serviceCode /product/saveProductSpecDetail
- * @path /app/product/saveProductSpecDetail
+ *
* @param reqJson
* @return
+ * @serviceCode /product/saveProductSpecDetail
+ * @path /app/product/saveProductSpecDetail
*/
@RequestMapping(value = "/saveProductSpecDetail", method = RequestMethod.POST)
- public ResponseEntity<String> saveProductSpecDetail(@RequestBody JSONObject reqJson) {
+ public ResponseEntity<String> saveProductSpecDetail(@RequestBody JSONObject reqJson,
+ @RequestHeader(value = "store-id") String storeId) {
Assert.hasKeyAndValue(reqJson, "specId", "璇锋眰鎶ユ枃涓湭鍖呭惈specId");
- Assert.hasKeyAndValue(reqJson, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId");
Assert.hasKeyAndValue(reqJson, "detailName", "璇锋眰鎶ユ枃涓湭鍖呭惈detailName");
Assert.hasKeyAndValue(reqJson, "detailValue", "璇锋眰鎶ユ枃涓湭鍖呭惈detailValue");
ProductSpecDetailPo productSpecDetailPo = BeanConvertUtil.covertBean(reqJson, ProductSpecDetailPo.class);
+ productSpecDetailPo.setStoreId(storeId);
return saveProductSpecDetailBMOImpl.save(productSpecDetailPo);
}
/**
* 寰俊淇敼娑堟伅妯℃澘
- * @serviceCode /product/updateProductSpecDetail
- * @path /app/product/updateProductSpecDetail
+ *
* @param reqJson
* @return
+ * @serviceCode /product/updateProductSpecDetail
+ * @path /app/product/updateProductSpecDetail
*/
@RequestMapping(value = "/updateProductSpecDetail", method = RequestMethod.POST)
- public ResponseEntity<String> updateProductSpecDetail(@RequestBody JSONObject reqJson) {
+ public ResponseEntity<String> updateProductSpecDetail(@RequestBody JSONObject reqJson,
+ @RequestHeader(value = "store-id") String storeId) {
Assert.hasKeyAndValue(reqJson, "specId", "璇锋眰鎶ユ枃涓湭鍖呭惈specId");
- Assert.hasKeyAndValue(reqJson, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId");
Assert.hasKeyAndValue(reqJson, "detailName", "璇锋眰鎶ユ枃涓湭鍖呭惈detailName");
Assert.hasKeyAndValue(reqJson, "detailValue", "璇锋眰鎶ユ枃涓湭鍖呭惈detailValue");
Assert.hasKeyAndValue(reqJson, "detailId", "detailId涓嶈兘涓虹┖");
ProductSpecDetailPo productSpecDetailPo = BeanConvertUtil.covertBean(reqJson, ProductSpecDetailPo.class);
+ productSpecDetailPo.setStoreId(storeId);
return updateProductSpecDetailBMOImpl.update(productSpecDetailPo);
}
/**
* 寰俊鍒犻櫎娑堟伅妯℃澘
- * @serviceCode /product/deleteProductSpecDetail
- * @path /app/product/deleteProductSpecDetail
+ *
* @param reqJson
* @return
+ * @serviceCode /product/deleteProductSpecDetail
+ * @path /app/product/deleteProductSpecDetail
*/
@RequestMapping(value = "/deleteProductSpecDetail", method = RequestMethod.POST)
- public ResponseEntity<String> deleteProductSpecDetail(@RequestBody JSONObject reqJson) {
- Assert.hasKeyAndValue(reqJson, "communityId", "灏忓尯ID涓嶈兘涓虹┖");
+ public ResponseEntity<String> deleteProductSpecDetail(@RequestBody JSONObject reqJson,
+ @RequestHeader(value = "store-id") String storeId) {
Assert.hasKeyAndValue(reqJson, "detailId", "detailId涓嶈兘涓虹┖");
ProductSpecDetailPo productSpecDetailPo = BeanConvertUtil.covertBean(reqJson, ProductSpecDetailPo.class);
+ productSpecDetailPo.setStoreId(storeId);
return deleteProductSpecDetailBMOImpl.delete(productSpecDetailPo);
}
/**
* 寰俊鍒犻櫎娑堟伅妯℃澘
- * @serviceCode /product/queryProductSpecDetail
- * @path /app/product/queryProductSpecDetail
+ *
* @param storeId 灏忓尯ID
* @return
+ * @serviceCode /product/queryProductSpecDetail
+ * @path /app/product/queryProductSpecDetail
*/
@RequestMapping(value = "/queryProductSpecDetail", method = RequestMethod.GET)
public ResponseEntity<String> queryProductSpecDetail(@RequestHeader(value = "store-id") String storeId,
- @RequestParam(value = "specId",required = false) String specId,
+ @RequestParam(value = "specId", required = false) String specId,
@RequestParam(value = "page") int page,
@RequestParam(value = "row") int row) {
ProductSpecDetailDto productSpecDetailDto = new ProductSpecDetailDto();
@@ -300,4 +378,186 @@
productSpecDetailDto.setStoreId(storeId);
return getProductSpecDetailBMOImpl.get(productSpecDetailDto);
}
+
+
+ /**
+ * 寰俊淇濆瓨娑堟伅妯℃澘
+ *
+ * @param reqJson
+ * @return
+ * @serviceCode /product/saveProductSpecValue
+ * @path /app/product/saveProductSpecValue
+ */
+ @RequestMapping(value = "/saveProductSpecValue", method = RequestMethod.POST)
+ public ResponseEntity<String> saveProductSpecValue(@RequestBody JSONObject reqJson,
+ @RequestHeader(value = "store-id") String storeId) {
+
+ Assert.hasKeyAndValue(reqJson, "specId", "璇锋眰鎶ユ枃涓湭鍖呭惈specId");
+ Assert.hasKeyAndValue(reqJson, "productId", "璇锋眰鎶ユ枃涓湭鍖呭惈productId");
+ Assert.hasKeyAndValue(reqJson, "stock", "璇锋眰鎶ユ枃涓湭鍖呭惈stock");
+ Assert.hasKeyAndValue(reqJson, "price", "璇锋眰鎶ユ枃涓湭鍖呭惈price");
+ Assert.hasKeyAndValue(reqJson, "sales", "璇锋眰鎶ユ枃涓湭鍖呭惈sales");
+ Assert.hasKeyAndValue(reqJson, "costPrice", "璇锋眰鎶ユ枃涓湭鍖呭惈costPrice");
+ Assert.hasKeyAndValue(reqJson, "vipPrice", "璇锋眰鎶ユ枃涓湭鍖呭惈vipPrice");
+ Assert.hasKeyAndValue(reqJson, "otPrice", "璇锋眰鎶ユ枃涓湭鍖呭惈otPrice");
+
+
+ ProductSpecValuePo productSpecValuePo = BeanConvertUtil.covertBean(reqJson, ProductSpecValuePo.class);
+ productSpecValuePo.setStoreId(storeId);
+ return saveProductSpecValueBMOImpl.save(productSpecValuePo);
+ }
+
+ /**
+ * 寰俊淇敼娑堟伅妯℃澘
+ *
+ * @param reqJson
+ * @return
+ * @serviceCode /product/updateProductSpecValue
+ * @path /app/product/updateProductSpecValue
+ */
+ @RequestMapping(value = "/updateProductSpecValue", method = RequestMethod.POST)
+ public ResponseEntity<String> updateProductSpecValue(@RequestBody JSONObject reqJson,
+ @RequestHeader(value = "store-id") String storeId) {
+
+ Assert.hasKeyAndValue(reqJson, "specId", "璇锋眰鎶ユ枃涓湭鍖呭惈specId");
+ Assert.hasKeyAndValue(reqJson, "productId", "璇锋眰鎶ユ枃涓湭鍖呭惈productId");
+ Assert.hasKeyAndValue(reqJson, "stock", "璇锋眰鎶ユ枃涓湭鍖呭惈stock");
+ Assert.hasKeyAndValue(reqJson, "price", "璇锋眰鎶ユ枃涓湭鍖呭惈price");
+ Assert.hasKeyAndValue(reqJson, "sales", "璇锋眰鎶ユ枃涓湭鍖呭惈sales");
+ Assert.hasKeyAndValue(reqJson, "costPrice", "璇锋眰鎶ユ枃涓湭鍖呭惈costPrice");
+ Assert.hasKeyAndValue(reqJson, "vipPrice", "璇锋眰鎶ユ枃涓湭鍖呭惈vipPrice");
+ Assert.hasKeyAndValue(reqJson, "otPrice", "璇锋眰鎶ユ枃涓湭鍖呭惈otPrice");
+ Assert.hasKeyAndValue(reqJson, "valueId", "valueId涓嶈兘涓虹┖");
+
+
+ ProductSpecValuePo productSpecValuePo = BeanConvertUtil.covertBean(reqJson, ProductSpecValuePo.class);
+ productSpecValuePo.setStoreId(storeId);
+ return updateProductSpecValueBMOImpl.update(productSpecValuePo);
+ }
+
+ /**
+ * 寰俊鍒犻櫎娑堟伅妯℃澘
+ *
+ * @param reqJson
+ * @return
+ * @serviceCode /product/deleteProductSpecValue
+ * @path /app/product/deleteProductSpecValue
+ */
+ @RequestMapping(value = "/deleteProductSpecValue", method = RequestMethod.POST)
+ public ResponseEntity<String> deleteProductSpecValue(@RequestBody JSONObject reqJson,
+ @RequestHeader(value = "store-id") String storeId) {
+
+ Assert.hasKeyAndValue(reqJson, "valueId", "valueId涓嶈兘涓虹┖");
+
+
+ ProductSpecValuePo productSpecValuePo = BeanConvertUtil.covertBean(reqJson, ProductSpecValuePo.class);
+ productSpecValuePo.setStoreId(storeId);
+ return deleteProductSpecValueBMOImpl.delete(productSpecValuePo);
+ }
+
+ /**
+ * 寰俊鍒犻櫎娑堟伅妯℃澘
+ *
+ * @param storeId 灏忓尯ID
+ * @return
+ * @serviceCode /product/queryProductSpecValue
+ * @path /app/product/queryProductSpecValue
+ */
+ @RequestMapping(value = "/queryProductSpecValue", method = RequestMethod.GET)
+ public ResponseEntity<String> queryProductSpecValue(@RequestHeader(value = "store-id") String storeId,
+ @RequestParam(value = "productId", required = false) String productId,
+ @RequestParam(value = "page") int page,
+ @RequestParam(value = "row") int row) {
+ ProductSpecValueDto productSpecValueDto = new ProductSpecValueDto();
+ productSpecValueDto.setPage(page);
+ productSpecValueDto.setRow(row);
+ productSpecValueDto.setStoreId(storeId);
+ productSpecValueDto.setProductId(productId);
+ return getProductSpecValueBMOImpl.get(productSpecValueDto);
+ }
+
+
+ /**
+ * 寰俊淇濆瓨娑堟伅妯℃澘
+ *
+ * @param reqJson
+ * @return
+ * @serviceCode /product/saveProductAttr
+ * @path /app/product/saveProductAttr
+ */
+ @RequestMapping(value = "/saveProductAttr", method = RequestMethod.POST)
+ public ResponseEntity<String> saveProductAttr(@RequestBody JSONObject reqJson,
+ @RequestHeader(value = "store-id") String storeId) {
+
+ Assert.hasKeyAndValue(reqJson, "productId", "璇锋眰鎶ユ枃涓湭鍖呭惈productId");
+ Assert.hasKeyAndValue(reqJson, "specCd", "璇锋眰鎶ユ枃涓湭鍖呭惈specCd");
+
+
+ ProductAttrPo productAttrPo = BeanConvertUtil.covertBean(reqJson, ProductAttrPo.class);
+ productAttrPo.setStoreId(storeId);
+ return saveProductAttrBMOImpl.save(productAttrPo);
+ }
+
+ /**
+ * 寰俊淇敼娑堟伅妯℃澘
+ *
+ * @param reqJson
+ * @return
+ * @serviceCode /product/updateProductAttr
+ * @path /app/product/updateProductAttr
+ */
+ @RequestMapping(value = "/updateProductAttr", method = RequestMethod.POST)
+ public ResponseEntity<String> updateProductAttr(@RequestBody JSONObject reqJson,
+ @RequestHeader(value = "store-id") String storeId) {
+
+ Assert.hasKeyAndValue(reqJson, "productId", "璇锋眰鎶ユ枃涓湭鍖呭惈productId");
+ Assert.hasKeyAndValue(reqJson, "specCd", "璇锋眰鎶ユ枃涓湭鍖呭惈specCd");
+ Assert.hasKeyAndValue(reqJson, "attrId", "attrId涓嶈兘涓虹┖");
+
+
+ ProductAttrPo productAttrPo = BeanConvertUtil.covertBean(reqJson, ProductAttrPo.class);
+ productAttrPo.setStoreId(storeId);
+ return updateProductAttrBMOImpl.update(productAttrPo);
+ }
+
+ /**
+ * 寰俊鍒犻櫎娑堟伅妯℃澘
+ *
+ * @param reqJson
+ * @return
+ * @serviceCode /product/deleteProductAttr
+ * @path /app/product/deleteProductAttr
+ */
+ @RequestMapping(value = "/deleteProductAttr", method = RequestMethod.POST)
+ public ResponseEntity<String> deleteProductAttr(@RequestBody JSONObject reqJson,
+ @RequestHeader(value = "store-id") String storeId) {
+
+ Assert.hasKeyAndValue(reqJson, "attrId", "attrId涓嶈兘涓虹┖");
+
+
+ ProductAttrPo productAttrPo = BeanConvertUtil.covertBean(reqJson, ProductAttrPo.class);
+ productAttrPo.setStoreId(storeId);
+ return deleteProductAttrBMOImpl.delete(productAttrPo);
+ }
+
+ /**
+ * 寰俊鍒犻櫎娑堟伅妯℃澘
+ *
+ * @param storeId 鍟嗘埛ID
+ * @return
+ * @serviceCode /product/queryProductAttr
+ * @path /app/product/queryProductAttr
+ */
+ @RequestMapping(value = "/queryProductAttr", method = RequestMethod.GET)
+ public ResponseEntity<String> queryProductAttr(@RequestHeader(value = "store-id") String storeId,
+ @RequestParam(value = "productId", required = false) String productId,
+ @RequestParam(value = "page") int page,
+ @RequestParam(value = "row") int row) {
+ ProductAttrDto productAttrDto = new ProductAttrDto();
+ productAttrDto.setPage(page);
+ productAttrDto.setRow(row);
+ productAttrDto.setStoreId(storeId);
+ productAttrDto.setProductId(productId);
+ return getProductAttrBMOImpl.get(productAttrDto);
+ }
}
--
Gitblit v1.8.0