java110 před 5 roky
rodič
revize
df9cec4c4f

+ 54 - 34
java110-bean/src/main/java/com/java110/po/storeOrder/StoreOrderPo.java

@@ -1,88 +1,108 @@
 package com.java110.po.storeOrder;
 
 import java.io.Serializable;
-import java.util.Date;
 
 public class StoreOrderPo implements Serializable {
 
     private String personName;
-private String extOrderId;
-private String orderId;
-private String totalPrice;
-private String payPrice;
-private String personId;
-private String remark;
-private String statusCd = "0";
-private String oId;
-private String state;
-private String freightPrice;
-public String getPersonName() {
+    private String extOrderId;
+    private String orderId;
+    private String totalPrice;
+    private String payPrice;
+    private String personId;
+    private String remark;
+    private String statusCd = "0";
+    private String oId;
+    private String state;
+    private String freightPrice;
+
+    public String getPersonName() {
         return personName;
     }
-public void setPersonName(String personName) {
+
+    public void setPersonName(String personName) {
         this.personName = personName;
     }
-public String getExtOrderId() {
+
+    public String getExtOrderId() {
         return extOrderId;
     }
-public void setExtOrderId(String extOrderId) {
+
+    public void setExtOrderId(String extOrderId) {
         this.extOrderId = extOrderId;
     }
-public String getOrderId() {
+
+    public String getOrderId() {
         return orderId;
     }
-public void setOrderId(String orderId) {
+
+    public void setOrderId(String orderId) {
         this.orderId = orderId;
     }
-public String getTotalPrice() {
+
+    public String getTotalPrice() {
         return totalPrice;
     }
-public void setTotalPrice(String totalPrice) {
+
+    public void setTotalPrice(String totalPrice) {
         this.totalPrice = totalPrice;
     }
-public String getPayPrice() {
+
+    public String getPayPrice() {
         return payPrice;
     }
-public void setPayPrice(String payPrice) {
+
+    public void setPayPrice(String payPrice) {
         this.payPrice = payPrice;
     }
-public String getPersonId() {
+
+    public String getPersonId() {
         return personId;
     }
-public void setPersonId(String personId) {
+
+    public void setPersonId(String personId) {
         this.personId = personId;
     }
-public String getRemark() {
+
+    public String getRemark() {
         return remark;
     }
-public void setRemark(String remark) {
+
+    public void setRemark(String remark) {
         this.remark = remark;
     }
-public String getStatusCd() {
+
+    public String getStatusCd() {
         return statusCd;
     }
-public void setStatusCd(String statusCd) {
+
+    public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
-public String getOId() {
+
+    public String getOId() {
         return oId;
     }
-public void setOId(String oId) {
+
+    public void setOId(String oId) {
         this.oId = oId;
     }
-public String getState() {
+
+    public String getState() {
         return state;
     }
-public void setState(String state) {
+
+    public void setState(String state) {
         this.state = state;
     }
-public String getFreightPrice() {
+
+    public String getFreightPrice() {
         return freightPrice;
     }
-public void setFreightPrice(String freightPrice) {
+
+    public void setFreightPrice(String freightPrice) {
         this.freightPrice = freightPrice;
     }
 
 
-
 }

+ 3 - 1
service-goods/src/main/java/com/java110/goods/api/StoreOrderApi.java

@@ -99,10 +99,12 @@ public class StoreOrderApi {
 
         Assert.hasKeyAndValue(reqJson, "personId", "请求报文中未包含personId");
         Assert.hasKeyAndValue(reqJson, "personName", "请求报文中未包含personName");
+        Assert.hasKeyAndValue(reqJson, "addressId", "请求报文中未包含收货人信息");
         Assert.hasKey(reqJson, "goodsList", "未包含商品信息");
 
         StoreOrderPo storeOrderPo = BeanConvertUtil.covertBean(reqJson, StoreOrderPo.class);
-        return saveStoreOrderBMOImpl.save(storeOrderPo, reqJson.getJSONArray("goodsList"));
+        return saveStoreOrderBMOImpl.save(storeOrderPo, reqJson.getJSONArray("goodsList"),
+                reqJson.getString("addressId"));
     }
 
     /**

+ 1 - 1
service-goods/src/main/java/com/java110/goods/bmo/storeOrder/ISaveStoreOrderBMO.java

@@ -12,7 +12,7 @@ public interface ISaveStoreOrderBMO {
      * @param storeOrderPo
      * @return
      */
-    ResponseEntity<String> save(StoreOrderPo storeOrderPo, JSONArray goodsList);
+    ResponseEntity<String> save(StoreOrderPo storeOrderPo, JSONArray goodsList,String addressId);
 
 
 }

+ 42 - 1
service-goods/src/main/java/com/java110/goods/bmo/storeOrder/impl/SaveStoreOrderBMOImpl.java

@@ -9,15 +9,19 @@ import com.java110.dto.groupBuyProductSpec.GroupBuyProductSpecDto;
 import com.java110.dto.productSpecValue.ProductSpecValueDto;
 import com.java110.dto.storeOrder.StoreOrderDto;
 import com.java110.dto.storeOrderCart.StoreOrderCartDto;
+import com.java110.dto.userAddress.UserAddressDto;
 import com.java110.goods.bmo.storeOrder.ISaveStoreOrderBMO;
+import com.java110.intf.IStoreOrderAddressInnerServiceSMO;
 import com.java110.intf.IStoreOrderCartInnerServiceSMO;
 import com.java110.intf.IStoreOrderInnerServiceSMO;
+import com.java110.intf.IUserAddressInnerServiceSMO;
 import com.java110.intf.goods.IGroupBuyProductSpecInnerServiceSMO;
 import com.java110.intf.goods.IProductInnerServiceSMO;
 import com.java110.intf.goods.IProductSpecValueInnerServiceSMO;
 import com.java110.po.groupBuyProductSpec.GroupBuyProductSpecPo;
 import com.java110.po.productSpecValue.ProductSpecValuePo;
 import com.java110.po.storeOrder.StoreOrderPo;
+import com.java110.po.storeOrderAddress.StoreOrderAddressPo;
 import com.java110.po.storeOrderCart.StoreOrderCartPo;
 import com.java110.utils.lock.DistributedLock;
 import com.java110.utils.util.Assert;
@@ -48,6 +52,12 @@ public class SaveStoreOrderBMOImpl implements ISaveStoreOrderBMO {
     @Autowired
     private IGroupBuyProductSpecInnerServiceSMO groupBuyProductSpecInnerServiceSMOImpl;
 
+    @Autowired
+    private IUserAddressInnerServiceSMO userAddressInnerServiceSMOImpl;
+
+    @Autowired
+    private IStoreOrderAddressInnerServiceSMO storeOrderAddressInnerServiceSMOImpl;
+
     /**
      * 添加小区信息
      *
@@ -65,7 +75,7 @@ public class SaveStoreOrderBMOImpl implements ISaveStoreOrderBMO {
      * @return 订单服务能够接受的报文
      */
     @Java110Transactional
-    public ResponseEntity<String> save(StoreOrderPo storeOrderPo, JSONArray goodsList) {
+    public ResponseEntity<String> save(StoreOrderPo storeOrderPo, JSONArray goodsList, String addressId) {
 
         storeOrderPo.setOrderId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_orderId));
         storeOrderPo.setPayPrice("0");
@@ -85,10 +95,41 @@ public class SaveStoreOrderBMOImpl implements ISaveStoreOrderBMO {
             return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
         }
 
+        //保存收货人信息
+        saveOrderAddress(storeOrderPo, addressId);
+
         return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功", storeOrderPo);
 
     }
 
+    private void saveOrderAddress(StoreOrderPo storeOrderPo, String addressId) {
+
+        UserAddressDto userAddressDto = new UserAddressDto();
+        userAddressDto.setAddressId(addressId);
+        userAddressDto.setUserId(storeOrderPo.getPersonId());
+        List<UserAddressDto> userAddressDtos = userAddressInnerServiceSMOImpl.queryUserAddresss(userAddressDto);
+
+        Assert.listOnlyOne(userAddressDtos, "未找到收货人信息");
+
+        userAddressDto = userAddressDtos.get(0);
+
+        StoreOrderAddressPo storeOrderAddressPo = new StoreOrderAddressPo();
+        storeOrderAddressPo.setAddress(userAddressDto.getAddress());
+        storeOrderAddressPo.setAddressId(userAddressDto.getAddressId());
+        storeOrderAddressPo.setAreaCode(userAddressDto.getAreaCode());
+        storeOrderAddressPo.setOaId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_oaId));
+        storeOrderAddressPo.setOrderId(storeOrderPo.getOrderId());
+        storeOrderAddressPo.setTel(userAddressDto.getTel());
+        storeOrderAddressPo.setUsername(userAddressDto.getUsername());
+
+        int flag = storeOrderAddressInnerServiceSMOImpl.saveStoreOrderAddress(storeOrderAddressPo);
+
+        if (flag < 1) {
+            throw new IllegalArgumentException("保存收货人信息失败");
+        }
+
+    }
+
     /**
      * 保存购物车
      *