java110 лет назад: 5
Родитель
Сommit
8d305784a2

+ 49 - 31
java110-bean/src/main/java/com/java110/po/groupBuyProduct/GroupBuyProductPo.java

@@ -1,81 +1,99 @@
 package com.java110.po.groupBuyProduct;
 
 import java.io.Serializable;
-import java.util.Date;
 
 public class GroupBuyProductPo implements Serializable {
 
     private String groupProdName;
-private String productId;
-private String userCount;
-private String groupId;
-private String groupProdDesc;
-private String statusCd = "0";
-private String sort;
-private String state;
-private String storeId;
-private String batchId;
-public String getGroupProdName() {
+    private String productId;
+    private String userCount;
+    private String groupId;
+    private String groupProdDesc;
+    private String statusCd = "0";
+    private String sort;
+    private String state;
+    private String storeId;
+    private String batchId;
+
+    public String getGroupProdName() {
         return groupProdName;
     }
-public void setGroupProdName(String groupProdName) {
+
+    public void setGroupProdName(String groupProdName) {
         this.groupProdName = groupProdName;
     }
-public String getProductId() {
+
+    public String getProductId() {
         return productId;
     }
-public void setProductId(String productId) {
+
+    public void setProductId(String productId) {
         this.productId = productId;
     }
-public String getUserCount() {
+
+    public String getUserCount() {
         return userCount;
     }
-public void setUserCount(String userCount) {
+
+    public void setUserCount(String userCount) {
         this.userCount = userCount;
     }
-public String getGroupId() {
+
+    public String getGroupId() {
         return groupId;
     }
-public void setGroupId(String groupId) {
+
+    public void setGroupId(String groupId) {
         this.groupId = groupId;
     }
-public String getGroupProdDesc() {
+
+    public String getGroupProdDesc() {
         return groupProdDesc;
     }
-public void setGroupProdDesc(String groupProdDesc) {
+
+    public void setGroupProdDesc(String groupProdDesc) {
         this.groupProdDesc = groupProdDesc;
     }
-public String getStatusCd() {
+
+    public String getStatusCd() {
         return statusCd;
     }
-public void setStatusCd(String statusCd) {
+
+    public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
-public String getSort() {
+
+    public String getSort() {
         return sort;
     }
-public void setSort(String sort) {
+
+    public void setSort(String sort) {
         this.sort = sort;
     }
-public String getState() {
+
+    public String getState() {
         return state;
     }
-public void setState(String state) {
+
+    public void setState(String state) {
         this.state = state;
     }
-public String getStoreId() {
+
+    public String getStoreId() {
         return storeId;
     }
-public void setStoreId(String storeId) {
+
+    public void setStoreId(String storeId) {
         this.storeId = storeId;
     }
-public String getBatchId() {
+
+    public String getBatchId() {
         return batchId;
     }
-public void setBatchId(String batchId) {
+
+    public void setBatchId(String batchId) {
         this.batchId = batchId;
     }
 
 
-
 }

+ 39 - 25
java110-bean/src/main/java/com/java110/po/groupBuyProductSpec/GroupBuyProductSpecPo.java

@@ -1,67 +1,81 @@
 package com.java110.po.groupBuyProductSpec;
 
 import java.io.Serializable;
-import java.util.Date;
 
 public class GroupBuyProductSpecPo implements Serializable {
 
     private String specId;
-private String groupSales;
-private String productId;
-private String groupPrice;
-private String defaultShow;
-private String statusCd = "0";
-private String storeId;
-private String groupStock;
-public String getSpecId() {
+    private String groupSales;
+    private String productId;
+    private String groupPrice;
+    private String defaultShow;
+    private String statusCd = "0";
+    private String storeId;
+    private String groupStock;
+
+    public String getSpecId() {
         return specId;
     }
-public void setSpecId(String specId) {
+
+    public void setSpecId(String specId) {
         this.specId = specId;
     }
-public String getGroupSales() {
+
+    public String getGroupSales() {
         return groupSales;
     }
-public void setGroupSales(String groupSales) {
+
+    public void setGroupSales(String groupSales) {
         this.groupSales = groupSales;
     }
-public String getProductId() {
+
+    public String getProductId() {
         return productId;
     }
-public void setProductId(String productId) {
+
+    public void setProductId(String productId) {
         this.productId = productId;
     }
-public String getGroupPrice() {
+
+    public String getGroupPrice() {
         return groupPrice;
     }
-public void setGroupPrice(String groupPrice) {
+
+    public void setGroupPrice(String groupPrice) {
         this.groupPrice = groupPrice;
     }
-public String getDefaultShow() {
+
+    public String getDefaultShow() {
         return defaultShow;
     }
-public void setDefaultShow(String defaultShow) {
+
+    public void setDefaultShow(String defaultShow) {
         this.defaultShow = defaultShow;
     }
-public String getStatusCd() {
+
+    public String getStatusCd() {
         return statusCd;
     }
-public void setStatusCd(String statusCd) {
+
+    public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
-public String getStoreId() {
+
+    public String getStoreId() {
         return storeId;
     }
-public void setStoreId(String storeId) {
+
+    public void setStoreId(String storeId) {
         this.storeId = storeId;
     }
-public String getGroupStock() {
+
+    public String getGroupStock() {
         return groupStock;
     }
-public void setGroupStock(String groupStock) {
+
+    public void setGroupStock(String groupStock) {
         this.groupStock = groupStock;
     }
 
 
-
 }

+ 23 - 8
service-goods/src/main/java/com/java110/goods/api/GroupBuyApi.java

@@ -1,5 +1,6 @@
 package com.java110.goods.api;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.dto.groupBuy.GroupBuyDto;
 import com.java110.dto.groupBuyBatch.GroupBuyBatchDto;
@@ -35,12 +36,10 @@ 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;
 
 @RestController
 @RequestMapping(value = "/groupBuy")
@@ -199,10 +198,26 @@ public class GroupBuyApi {
         Assert.hasKeyAndValue(reqJson, "groupProdDesc", "请求报文中未包含groupProdDesc");
         Assert.hasKeyAndValue(reqJson, "sort", "请求报文中未包含sort");
 
-
+        Assert.hasKey(reqJson, "productSpecs", "请求报文中未包含商品规格信息");
+
+        JSONArray productSpecs = reqJson.getJSONArray("productSpecs");
+
+        if (productSpecs.size() < 1) {
+            throw new IllegalArgumentException("请求报文中商品规格数量为0");
+        }
+        List<GroupBuyProductSpecPo> groupBuyProductSpecPos = new ArrayList<>();
+        GroupBuyProductSpecPo groupBuyProductSpecPo = null;
+        for (int specIndex = 0; specIndex < productSpecs.size(); specIndex++) {
+            groupBuyProductSpecPo = BeanConvertUtil.covertBean(productSpecs.getJSONObject(specIndex), GroupBuyProductSpecPo.class);
+            groupBuyProductSpecPo.setProductId(reqJson.getString("productId"));
+            groupBuyProductSpecPo.setDefaultShow("F");
+            groupBuyProductSpecPo.setGroupSales("1");
+            groupBuyProductSpecPo.setStoreId(storeId);
+            groupBuyProductSpecPos.add(groupBuyProductSpecPo);
+        }
         GroupBuyProductPo groupBuyProductPo = BeanConvertUtil.covertBean(reqJson, GroupBuyProductPo.class);
         groupBuyProductPo.setStoreId(storeId);
-        return saveGroupBuyProductBMOImpl.save(groupBuyProductPo);
+        return saveGroupBuyProductBMOImpl.save(groupBuyProductPo,groupBuyProductSpecPos);
     }
 
     /**

+ 4 - 1
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProduct/ISaveGroupBuyProductBMO.java

@@ -1,8 +1,11 @@
 package com.java110.goods.bmo.groupBuyProduct;
 
 import com.java110.po.groupBuyProduct.GroupBuyProductPo;
+import com.java110.po.groupBuyProductSpec.GroupBuyProductSpecPo;
 import org.springframework.http.ResponseEntity;
 
+import java.util.List;
+
 public interface ISaveGroupBuyProductBMO {
 
 
@@ -13,7 +16,7 @@ public interface ISaveGroupBuyProductBMO {
      * @param groupBuyProductPo
      * @return
      */
-    ResponseEntity<String> save(GroupBuyProductPo groupBuyProductPo);
+    ResponseEntity<String> save(GroupBuyProductPo groupBuyProductPo, List<GroupBuyProductSpecPo> groupBuyProductSpecPos);
 
 
 }

+ 19 - 4
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProduct/impl/SaveGroupBuyProductBMOImpl.java

@@ -4,18 +4,25 @@ import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.goods.bmo.groupBuyProduct.ISaveGroupBuyProductBMO;
 import com.java110.intf.IGroupBuyProductInnerServiceSMO;
+import com.java110.intf.IGroupBuyProductSpecInnerServiceSMO;
 import com.java110.po.groupBuyProduct.GroupBuyProductPo;
+import com.java110.po.groupBuyProductSpec.GroupBuyProductSpecPo;
 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("saveGroupBuyProductBMOImpl")
 public class SaveGroupBuyProductBMOImpl implements ISaveGroupBuyProductBMO {
 
     @Autowired
     private IGroupBuyProductInnerServiceSMO groupBuyProductInnerServiceSMOImpl;
 
+    @Autowired
+    private IGroupBuyProductSpecInnerServiceSMO groupBuyProductSpecInnerServiceSMOImpl;
+
     /**
      * 添加小区信息
      *
@@ -23,16 +30,24 @@ public class SaveGroupBuyProductBMOImpl implements ISaveGroupBuyProductBMO {
      * @return 订单服务能够接受的报文
      */
     @Java110Transactional
-    public ResponseEntity<String> save(GroupBuyProductPo groupBuyProductPo) {
+    public ResponseEntity<String> save(GroupBuyProductPo groupBuyProductPo,
+                                       List<GroupBuyProductSpecPo> groupBuyProductSpecPos) {
 
         groupBuyProductPo.setGroupId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_groupId));
         int flag = groupBuyProductInnerServiceSMOImpl.saveGroupBuyProduct(groupBuyProductPo);
 
-        if (flag > 0) {
-            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
+        if (flag < 1) {
+            return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
+        }
+
+        for (GroupBuyProductSpecPo groupBuyProductSpecPo : groupBuyProductSpecPos) {
+            flag = groupBuyProductSpecInnerServiceSMOImpl.saveGroupBuyProductSpec(groupBuyProductSpecPo);
+            if (flag < 1) {
+                return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
+            }
         }
+        return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
 
-        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
     }
 
 }