ソースを参照

优化 修改 拼团功能

java110 5 年 前
コミット
a0177db73f

+ 17 - 1
service-goods/src/main/java/com/java110/goods/api/GroupBuyApi.java

@@ -237,10 +237,26 @@ public class GroupBuyApi {
         Assert.hasKeyAndValue(reqJson, "sort", "请求报文中未包含sort");
         Assert.hasKeyAndValue(reqJson, "groupId", "groupId不能为空");
 
+        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 updateGroupBuyProductBMOImpl.update(groupBuyProductPo);
+        return updateGroupBuyProductBMOImpl.update(groupBuyProductPo, groupBuyProductSpecPos);
     }
 
     /**

+ 4 - 1
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProduct/IUpdateGroupBuyProductBMO.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 IUpdateGroupBuyProductBMO {
 
 
@@ -13,7 +16,7 @@ public interface IUpdateGroupBuyProductBMO {
      * @param groupBuyProductPo
      * @return
      */
-    ResponseEntity<String> update(GroupBuyProductPo groupBuyProductPo);
+    ResponseEntity<String> update(GroupBuyProductPo groupBuyProductPo, List<GroupBuyProductSpecPo> groupBuyProductSpecPos);
 
 
 }

+ 18 - 4
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProduct/impl/UpdateGroupBuyProductBMOImpl.java

@@ -3,32 +3,46 @@ package com.java110.goods.bmo.groupBuyProduct.impl;
 import com.java110.core.annotation.Java110Transactional;
 import com.java110.goods.bmo.groupBuyProduct.IUpdateGroupBuyProductBMO;
 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("updateGroupBuyProductBMOImpl")
 public class UpdateGroupBuyProductBMOImpl implements IUpdateGroupBuyProductBMO {
 
     @Autowired
     private IGroupBuyProductInnerServiceSMO groupBuyProductInnerServiceSMOImpl;
 
+    @Autowired
+    private IGroupBuyProductSpecInnerServiceSMO groupBuyProductSpecInnerServiceSMOImpl;
+
     /**
      * @param groupBuyProductPo
      * @return 订单服务能够接受的报文
      */
     @Java110Transactional
-    public ResponseEntity<String> update(GroupBuyProductPo groupBuyProductPo) {
+    public ResponseEntity<String> update(GroupBuyProductPo groupBuyProductPo, List<GroupBuyProductSpecPo> groupBuyProductSpecPos) {
 
         int flag = groupBuyProductInnerServiceSMOImpl.updateGroupBuyProduct(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.updateGroupBuyProductSpec(groupBuyProductSpecPo);
+            if (flag < 1) {
+                return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
+            }
         }
+        return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
 
-        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
     }
 
 }