Authored by sailing-PC\sailing

optimized

@@ -64,20 +64,12 @@ public class SellerOrderController { @@ -64,20 +64,12 @@ public class SellerOrderController {
64 public ApiResponse publishPrd(@RequestParam(name = "uid", required = true)int uid, 64 public ApiResponse publishPrd(@RequestParam(name = "uid", required = true)int uid,
65 @RequestParam(name = "storage_id", required = true)int storage_id, 65 @RequestParam(name = "storage_id", required = true)int storage_id,
66 @RequestParam(name="price", required = true)String price, 66 @RequestParam(name="price", required = true)String price,
67 - @RequestParam(name="consignee")String consignee,  
68 - @RequestParam(name="address_id")Integer address_id,  
69 - @RequestParam(name="address")String address,  
70 - @RequestParam(name="zipCode")String zipCode,  
71 - @RequestParam(name="phone")String phone) throws GatewayException { 67 + @RequestParam(name="address_id")Integer address_id) throws GatewayException {
72 SellerOrderSubmitReq req = SellerOrderSubmitReq.builder() 68 SellerOrderSubmitReq req = SellerOrderSubmitReq.builder()
73 .uid(uid) 69 .uid(uid)
74 .storageId(storage_id) 70 .storageId(storage_id)
75 .price(price) 71 .price(price)
76 .addressId(address_id) 72 .addressId(address_id)
77 - .consignee(consignee)  
78 - .address(address)  
79 - .zipCode(zipCode)  
80 - .phone(phone)  
81 .build(); 73 .build();
82 logger.info("in ufo.sellerOrder.publishPrd, req {}", req); 74 logger.info("in ufo.sellerOrder.publishPrd, req {}", req);
83 Long orderCode = sellerOrderService.publishPrd(req); 75 Long orderCode = sellerOrderService.publishPrd(req);
1 package com.yohoufo.order.service; 1 package com.yohoufo.order.service;
2 2
3 import com.yoho.core.dal.datasource.annotation.Database; 3 import com.yoho.core.dal.datasource.annotation.Database;
  4 +import com.yoho.service.model.response.UserAddressRspBO;
4 import com.yohobuy.ufo.model.order.bo.PlatformFee; 5 import com.yohobuy.ufo.model.order.bo.PlatformFee;
5 import com.yohobuy.ufo.model.order.bo.SoldPrdComputeBo; 6 import com.yohobuy.ufo.model.order.bo.SoldPrdComputeBo;
6 import com.yohobuy.ufo.model.order.req.SellerOrderComputeReq; 7 import com.yohobuy.ufo.model.order.req.SellerOrderComputeReq;
@@ -18,6 +19,7 @@ import com.yohoufo.order.model.dto.PlatformFeeDto; @@ -18,6 +19,7 @@ import com.yohoufo.order.model.dto.PlatformFeeDto;
18 import com.yohoufo.order.model.dto.SellerOrderComputeResult; 19 import com.yohoufo.order.model.dto.SellerOrderComputeResult;
19 import com.yohoufo.order.service.handler.SellerOrderComputeHandler; 20 import com.yohoufo.order.service.handler.SellerOrderComputeHandler;
20 import com.yohoufo.order.service.handler.SellerOrderSubmitHandler; 21 import com.yohoufo.order.service.handler.SellerOrderSubmitHandler;
  22 +import com.yohoufo.order.service.proxy.UserProxyService;
21 import com.yohoufo.order.service.support.codegenerator.OrderCodeGenerator; 23 import com.yohoufo.order.service.support.codegenerator.OrderCodeGenerator;
22 import com.yohoufo.product.model.GoodsSize; 24 import com.yohoufo.product.model.GoodsSize;
23 import com.yohoufo.product.response.StorageDataResp; 25 import com.yohoufo.product.response.StorageDataResp;
@@ -40,22 +42,21 @@ public class SellerOrderService { @@ -40,22 +42,21 @@ public class SellerOrderService {
40 @Autowired 42 @Autowired
41 private SellerOrderMapper sellerOrderMapper; 43 private SellerOrderMapper sellerOrderMapper;
42 44
43 -  
44 @Autowired 45 @Autowired
45 private UfoServiceCaller ufoServiceCaller; 46 private UfoServiceCaller ufoServiceCaller;
46 47
47 -  
48 @Autowired 48 @Autowired
49 private SellerOrderComputeHandler computeHandler; 49 private SellerOrderComputeHandler computeHandler;
50 50
51 -  
52 @Autowired 51 @Autowired
53 private OrderCodeGenerator orderCodeGenerator; 52 private OrderCodeGenerator orderCodeGenerator;
54 53
55 -  
56 @Autowired 54 @Autowired
57 private SellerOrderSubmitHandler orderSubmitHandler; 55 private SellerOrderSubmitHandler orderSubmitHandler;
58 56
  57 + @Autowired
  58 + private UserProxyService userProxyService;
  59 +
59 60
60 61
61 public SoldPrdComputeBo computePublishPrd(SellerOrderComputeReq req) throws GatewayException { 62 public SoldPrdComputeBo computePublishPrd(SellerOrderComputeReq req) throws GatewayException {
@@ -197,10 +198,13 @@ public class SellerOrderService { @@ -197,10 +198,13 @@ public class SellerOrderService {
197 //the address of send back 2 seller 198 //the address of send back 2 seller
198 AddressInfo backAddress = new AddressInfo(); 199 AddressInfo backAddress = new AddressInfo();
199 backAddress.setAddress_id(req.getAddressId()); 200 backAddress.setAddress_id(req.getAddressId());
200 - backAddress.setAddress(req.getAddress());  
201 - backAddress.setConsignee(req.getConsignee());  
202 - backAddress.setPhone(req.getPhone());  
203 - backAddress.setZipCode(req.getZipCode()); 201 +
  202 + //
  203 + UserAddressRspBO addressRspBO = userProxyService.getAddressInfo(uid, req.getAddressId());
  204 + backAddress.setAddress(addressRspBO.getAddress());
  205 + backAddress.setConsignee(addressRspBO.getUid());
  206 + backAddress.setPhone(addressRspBO.getPhone());
  207 + backAddress.setZipCode(addressRspBO.getZipCode());
204 208
205 // 209 //
206 SellerOrderContext context = new SellerOrderContext(); 210 SellerOrderContext context = new SellerOrderContext();
@@ -17,6 +17,7 @@ import com.yohoufo.order.response.OrderSubmitResponse; @@ -17,6 +17,7 @@ import com.yohoufo.order.response.OrderSubmitResponse;
17 import com.yohoufo.order.response.ShoppingPaymentResponse; 17 import com.yohoufo.order.response.ShoppingPaymentResponse;
18 import com.yohoufo.order.service.IOrdeCreationService; 18 import com.yohoufo.order.service.IOrdeCreationService;
19 import com.yohoufo.order.service.IShoppingService; 19 import com.yohoufo.order.service.IShoppingService;
  20 +import com.yohoufo.order.service.proxy.UserProxyService;
20 import com.yohoufo.order.service.support.ShoppingSupport; 21 import com.yohoufo.order.service.support.ShoppingSupport;
21 import com.yohoufo.order.service.support.codegenerator.OrderCodeGenerator; 22 import com.yohoufo.order.service.support.codegenerator.OrderCodeGenerator;
22 import org.apache.commons.lang3.StringUtils; 23 import org.apache.commons.lang3.StringUtils;
@@ -49,6 +50,10 @@ public class ShoppingServiceImpl implements IShoppingService { @@ -49,6 +50,10 @@ public class ShoppingServiceImpl implements IShoppingService {
49 @Autowired 50 @Autowired
50 ServiceCaller serviceCaller; 51 ServiceCaller serviceCaller;
51 52
  53 + @Autowired
  54 + private UserProxyService userProxyService;
  55 +
  56 +
52 /** 57 /**
53 * 结算页数据 58 * 结算页数据
54 * @param request 59 * @param request
@@ -124,7 +129,7 @@ public class ShoppingServiceImpl implements IShoppingService { @@ -124,7 +129,7 @@ public class ShoppingServiceImpl implements IShoppingService {
124 // 生成订单号 129 // 生成订单号
125 long orderCode = orderCodeGenerator.generate(OrderCodeType.BUYER_TYPE); 130 long orderCode = orderCodeGenerator.generate(OrderCodeType.BUYER_TYPE);
126 131
127 - UserAddressRspBO addressInfo = getAddressInfo(shoppingRequest, addressId); 132 + UserAddressRspBO addressInfo = userProxyService.getAddressInfo(shoppingRequest.getUid(), addressId);
128 133
129 // 减库存,skup更新成不可售,入库 134 // 减库存,skup更新成不可售,入库
130 BigDecimal shipFee = new BigDecimal(OrderConstant.DELIVERY_WAY_SF_COST); 135 BigDecimal shipFee = new BigDecimal(OrderConstant.DELIVERY_WAY_SF_COST);
@@ -149,27 +154,7 @@ public class ShoppingServiceImpl implements IShoppingService { @@ -149,27 +154,7 @@ public class ShoppingServiceImpl implements IShoppingService {
149 154
150 } 155 }
151 156
152 - /**  
153 - * 获取用户信息  
154 - * @param shoppingRequest  
155 - * @param addressId  
156 - * @return  
157 - */  
158 - private UserAddressRspBO getAddressInfo(ShoppingRequest shoppingRequest, int addressId) {  
159 - // 收货地址信息, 入口参数:uid, address_id  
160 - UserAddressReqBO userAddressReqBO = new UserAddressReqBO();  
161 - userAddressReqBO.setUid(shoppingRequest.getUid());  
162 - userAddressReqBO.setId(addressId);  
163 -  
164 - //超时,使用默认地址,后续需要手动补充地址  
165 - UserAddressRspBO defaultResponse = new UserAddressRspBO();  
166 - defaultResponse.setAreaCode(OrderConstant.EMPTY_ADDRESS_CODE);  
167 - defaultResponse.setId(String.valueOf(addressId));  
168 - UserAddressRspBO userAddressBO = serviceCaller.asyncCall("users.getAddress", userAddressReqBO,  
169 - UserAddressRspBO.class, defaultResponse).get(500, TimeUnit.MILLISECONDS);  
170 -  
171 - return userAddressBO;  
172 - } 157 +
173 158
174 159
175 } 160 }
  1 +package com.yohoufo.order.service.proxy;
  2 +
  3 +import com.yoho.core.rest.client.ServiceCaller;
  4 +import com.yoho.service.model.request.UserAddressReqBO;
  5 +import com.yoho.service.model.response.UserAddressRspBO;
  6 +import com.yohoufo.order.constants.OrderConstant;
  7 +import com.yohoufo.order.request.ShoppingRequest;
  8 +import org.springframework.beans.factory.annotation.Autowired;
  9 +import org.springframework.stereotype.Service;
  10 +
  11 +import java.util.concurrent.TimeUnit;
  12 +
  13 +/**
  14 + * Created by chenchao on 2018/9/18.
  15 + */
  16 +@Service
  17 +public class UserProxyService {
  18 +
  19 + @Autowired
  20 + ServiceCaller serviceCaller;
  21 + /**
  22 + * 获取用户信息
  23 + * @param uid
  24 + * @param addressId
  25 + * @return
  26 + */
  27 + public UserAddressRspBO getAddressInfo(int uid, int addressId) {
  28 + // 收货地址信息, 入口参数:uid, address_id
  29 + UserAddressReqBO userAddressReqBO = new UserAddressReqBO();
  30 + userAddressReqBO.setUid(uid);
  31 + userAddressReqBO.setId(addressId);
  32 +
  33 + //超时,使用默认地址,后续需要手动补充地址
  34 + UserAddressRspBO defaultResponse = new UserAddressRspBO();
  35 + defaultResponse.setAreaCode(OrderConstant.EMPTY_ADDRESS_CODE);
  36 + defaultResponse.setId(String.valueOf(addressId));
  37 + UserAddressRspBO userAddressBO = serviceCaller.asyncCall("users.getAddress", userAddressReqBO,
  38 + UserAddressRspBO.class, defaultResponse).get(500, TimeUnit.MILLISECONDS);
  39 +
  40 + return userAddressBO;
  41 + }
  42 +}