|
@@ -6,8 +6,10 @@ import com.fs.erp.dto.*;
|
|
|
import com.fs.erp.http.JstErpHttpService;
|
|
|
import com.fs.erp.service.IErpOrderService;
|
|
|
import com.fs.erp.utils.SignUtil;
|
|
|
+import com.fs.store.domain.FsStoreOrder;
|
|
|
import com.fs.store.service.IFsStoreOrderService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.http.util.Asserts;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.context.annotation.Primary;
|
|
@@ -129,7 +131,6 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
|
|
|
requestDTO.setOIds(Collections.singletonList(Long.valueOf(param.getCode())));
|
|
|
|
|
|
|
|
|
-
|
|
|
// 2. 调用ERP服务查询订单
|
|
|
OrderQueryResponseDTO query = jstErpHttpService.query(requestDTO);
|
|
|
|
|
@@ -161,6 +162,9 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
|
|
|
private ErpOrderQuery convertToErpOrderQuery(OrderQueryResponseDTO.Order order) {
|
|
|
ErpOrderQuery erpOrder = new ErpOrderQuery();
|
|
|
|
|
|
+ FsStoreOrder fsStoreOrder = fsStoreOrderService.selectFsStoreOrderByOrderCode(order.getSoId());
|
|
|
+ Asserts.notNull(fsStoreOrder,"该订单号没有找到!");
|
|
|
+
|
|
|
// 设置基本订单信息
|
|
|
erpOrder.setCode(order.getSoId());
|
|
|
|
|
@@ -200,36 +204,12 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
|
|
|
erpOrder.setExpress_code(order.getLId());
|
|
|
|
|
|
// 设置收件人信息
|
|
|
- erpOrder.setReceiver_name(order.getReceiverName());
|
|
|
- erpOrder.setReceiver_phone(order.getReceiverPhone());
|
|
|
- erpOrder.setReceiver_mobile(order.getReceiverMobile());
|
|
|
+ erpOrder.setReceiver_name(fsStoreOrder.getRealName());
|
|
|
+ erpOrder.setReceiver_phone(fsStoreOrder.getUserPhone());
|
|
|
+ erpOrder.setReceiver_mobile(fsStoreOrder.getUserPhone());
|
|
|
|
|
|
// 构建完整地址
|
|
|
- StringBuilder addressBuilder = new StringBuilder();
|
|
|
- if (StringUtils.hasText(order.getReceiverAddress())) {
|
|
|
- addressBuilder.append(order.getReceiverAddress());
|
|
|
- }
|
|
|
- if (StringUtils.hasText(order.getReceiverDistrict())) {
|
|
|
- if (addressBuilder.length() > 0) addressBuilder.append(", ");
|
|
|
- addressBuilder.append(order.getReceiverDistrict());
|
|
|
- }
|
|
|
- if (StringUtils.hasText(order.getReceiverCity())) {
|
|
|
- if (addressBuilder.length() > 0) addressBuilder.append(", ");
|
|
|
- addressBuilder.append(order.getReceiverCity());
|
|
|
- }
|
|
|
- if (StringUtils.hasText(order.getReceiverState())) {
|
|
|
- if (addressBuilder.length() > 0) addressBuilder.append(", ");
|
|
|
- addressBuilder.append(order.getReceiverState());
|
|
|
- }
|
|
|
- if (StringUtils.hasText(order.getReceiverCountry())) {
|
|
|
- if (addressBuilder.length() > 0) addressBuilder.append(", ");
|
|
|
- addressBuilder.append(order.getReceiverCountry());
|
|
|
- }
|
|
|
- if (StringUtils.hasText(order.getReceiverZip())) {
|
|
|
- if (addressBuilder.length() > 0) addressBuilder.append(" ");
|
|
|
- addressBuilder.append(order.getReceiverZip());
|
|
|
- }
|
|
|
- erpOrder.setReceiver_address(addressBuilder.toString());
|
|
|
+ erpOrder.setReceiver_address(fsStoreOrder.getUserAddress());
|
|
|
|
|
|
// 处理发货相关信息
|
|
|
if (order.getShipment() != null && StringUtils.hasText(order.getShipment())) {
|
|
@@ -256,8 +236,12 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
|
|
|
|
|
|
@Override
|
|
|
public BaseResponse refundUpdate(ErpRefundUpdateRequest param) {
|
|
|
+
|
|
|
+ FsStoreOrder fsStoreOrder = fsStoreOrderService.selectFsStoreOrderByOrderCode(param.getTid());
|
|
|
+ // 如果是发货前退款,直接走取消订单流程
|
|
|
+ // 如果是发货后退款,走售后流程
|
|
|
OrderCancelRequestDTO requestDTO = new OrderCancelRequestDTO();
|
|
|
- requestDTO.setOIds(Collections.singletonList(Integer.valueOf(param.getTid())));
|
|
|
+ requestDTO.setOIds(Collections.singletonList(Integer.valueOf(fsStoreOrder.getExtendOrderId())));
|
|
|
requestDTO.setCancelType("用户退款");
|
|
|
requestDTO.setRemark("用户退款");
|
|
|
|