From 998eb5d9c41e6f953236868a99c68804cd0c8e26 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 12 十一月 2020 00:44:04 +0800
Subject: [PATCH] 优化代码

---
 service-goods/src/main/java/com/java110/goods/bmo/storeOrder/impl/SaveStoreOrderBMOImpl.java |   47 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 44 insertions(+), 3 deletions(-)

diff --git a/service-goods/src/main/java/com/java110/goods/bmo/storeOrder/impl/SaveStoreOrderBMOImpl.java b/service-goods/src/main/java/com/java110/goods/bmo/storeOrder/impl/SaveStoreOrderBMOImpl.java
index ef27cab..5126ad3 100644
--- a/service-goods/src/main/java/com/java110/goods/bmo/storeOrder/impl/SaveStoreOrderBMOImpl.java
+++ b/service-goods/src/main/java/com/java110/goods/bmo/storeOrder/impl/SaveStoreOrderBMOImpl.java
@@ -9,15 +9,19 @@
 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.IStoreOrderCartInnerServiceSMO;
-import com.java110.intf.IStoreOrderInnerServiceSMO;
+import com.java110.intf.goods.IStoreOrderAddressInnerServiceSMO;
+import com.java110.intf.goods.IStoreOrderCartInnerServiceSMO;
+import com.java110.intf.goods.IStoreOrderInnerServiceSMO;
+import com.java110.intf.user.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 @@
     @Autowired
     private IGroupBuyProductSpecInnerServiceSMO groupBuyProductSpecInnerServiceSMOImpl;
 
+    @Autowired
+    private IUserAddressInnerServiceSMO userAddressInnerServiceSMOImpl;
+
+    @Autowired
+    private IStoreOrderAddressInnerServiceSMO storeOrderAddressInnerServiceSMOImpl;
+
     /**
      * 娣诲姞灏忓尯淇℃伅
      *
@@ -65,7 +75,7 @@
      * @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 @@
             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("淇濆瓨鏀惰揣浜轰俊鎭け璐�");
+        }
+
+    }
+
     /**
      * 淇濆瓨璐墿杞�
      *

--
Gitblit v1.8.0