Sfoglia il codice sorgente

feat: 推送订单到erp

xdd 3 giorni fa
parent
commit
a1d6fc483f

+ 11 - 3
fs-service-system/src/main/java/com/fs/erp/service/impl/JSTErpOrderServiceImpl.java

@@ -7,10 +7,12 @@ import com.fs.erp.http.JstErpHttpService;
 import com.fs.erp.service.IErpOrderService;
 import com.fs.erp.utils.SignUtil;
 import com.fs.store.service.IFsStoreOrderService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 import org.springframework.util.ObjectUtils;
 import org.springframework.util.StringUtils;
 
@@ -21,6 +23,7 @@ import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 
+@Slf4j
 @Service
 @Primary
 public class JSTErpOrderServiceImpl implements IErpOrderService {
@@ -65,8 +68,6 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
         shopOrderDTO.setRemark(order.getBuyer_memo());
         // 买家留言
         shopOrderDTO.setBuyerMessage(order.getBuyer_memo());
-        // 物流ID
-        shopOrderDTO.setLId(order.getExpress_code());
 
         // 订单商品项列表
         List<ErpOrderItem> details = order.getDetails();
@@ -96,10 +97,17 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
         paymentDTO.setSellerAccount("平台销售");
         shopOrderDTO.setPay(paymentDTO);
 
-        jstErpHttpService.upload(shopOrderDTO);
+        ErpOrderResponseDTO upload = jstErpHttpService.upload(shopOrderDTO);
+
+        if(CollectionUtils.isEmpty(upload.getDatas())) {
+            log.info("推送ERP返回结果: {}",upload);
+            throw new IllegalArgumentException("推送ERP返回数不应该为0");
+        }
+        ErpOrderResponseDTO.OrderData orderData = upload.getDatas().get(0);
 
         ErpOrderResponse erpOrderResponse = new ErpOrderResponse();
         erpOrderResponse.setSuccess(true);
+        erpOrderResponse.setCode(String.valueOf(orderData.getOId()));
         return erpOrderResponse;
     }