Просмотр исходного кода

外部订单更新erp商品发货信息修改

wangxy 2 дней назад
Родитель
Сommit
f4374b69c7

+ 29 - 9
fs-service/src/main/java/com/fs/erp/service/impl/JSTErpOrderServiceImpl.java

@@ -112,6 +112,9 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
     @Autowired
     private FsRewardGoodsOrderMapper fsRewardGoodsOrderMapper;
 
+    @Autowired
+    private FsExternalOrderMapper fsExternalOrderMapper;
+
 
 
     @Override
@@ -731,6 +734,10 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
         // 2. 调用ERP服务查询订单
         OrderQueryResponseDTO query = jstErpHttpService.query(requestDTO);
 
+        log.info("ERP查询订单返回, orders数量: {}, orders详情: {}",
+                query.getOrders() != null ? query.getOrders().size() : 0,
+                JSON.toJSONString(query.getOrders()));
+
         // 3. 构建响应对象
         ErpOrderQueryResponse response = new ErpOrderQueryResponse();
 
@@ -765,6 +772,10 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
         // 2. 调用ERP服务查询订单
         OrderQueryResponseDTO query = jstErpHttpService.query(requestDTO);
 
+        log.info("ERP查询积分订单返回, orders数量: {}, orders详情: {}",
+                query.getOrders() != null ? query.getOrders().size() : 0,
+                JSON.toJSONString(query.getOrders()));
+
         // 3. 构建响应对象
         ErpOrderQueryResponse response = new ErpOrderQueryResponse();
 
@@ -926,9 +937,14 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
      */
     private ErpOrderQuery convertToErpOrderQuery(OrderQueryResponseDTO.Order order) {
         ErpOrderQuery erpOrder = new ErpOrderQuery();
+        log.info("返回的订单外部编号{}", order.getSoId());
 
-        FsStoreOrder fsStoreOrder = fsStoreOrderService.selectFsStoreOrderByOrderCode(order.getSoId());
-        Asserts.notNull(fsStoreOrder,"该订单号没有找到!");
+        FsStoreOrder fsStoreOrder = null;
+        FsExternalOrder fsExternalOrder = fsExternalOrderMapper.selectFsExternalOrderByOrderCode(order.getSoId());
+        if (fsExternalOrder == null) {
+            fsStoreOrder = fsStoreOrderService.selectFsStoreOrderByOrderCode(order.getSoId());
+            Asserts.notNull(fsStoreOrder, "该订单号没有找到!");
+        }
 
         // 设置基本订单信息
         erpOrder.setCode(order.getSoId());
@@ -969,13 +985,17 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
         erpOrder.setExpress_code(order.getLId());
 
         // 设置收件人信息
-//        erpOrder.setReceiver_name(fsStoreOrder.getRealName());
-        erpOrder.setReceiver_name(fsStoreOrder.getUserName());
-        erpOrder.setReceiver_phone(fsStoreOrder.getUserPhone());
-        erpOrder.setReceiver_mobile(fsStoreOrder.getUserPhone());
-
-        // 构建完整地址
-        erpOrder.setReceiver_address(fsStoreOrder.getUserAddress());
+        if (fsExternalOrder != null) {
+            erpOrder.setReceiver_name(fsExternalOrder.getUserName());
+            erpOrder.setReceiver_phone(fsExternalOrder.getUserPhone());
+            erpOrder.setReceiver_mobile(fsExternalOrder.getUserPhone());
+            erpOrder.setReceiver_address(fsExternalOrder.getUserAddress());
+        } else {
+            erpOrder.setReceiver_name(fsStoreOrder.getUserName());
+            erpOrder.setReceiver_phone(fsStoreOrder.getUserPhone());
+            erpOrder.setReceiver_mobile(fsStoreOrder.getUserPhone());
+            erpOrder.setReceiver_address(fsStoreOrder.getUserAddress());
+        }
 
         // 如果是已发货
         if(ObjectUtil.equal(order.getStatus(), ErpQueryOrderStatusEnum.SENT.getCode())){

+ 2 - 0
fs-service/src/main/java/com/fs/his/mapper/FsExternalOrderMapper.java

@@ -14,6 +14,8 @@ public interface FsExternalOrderMapper {
 
     public FsExternalOrder selectFsExternalOrderByOrderCode(String orderCode);
 
+    public FsExternalOrder selectFsExternalOrderByExtendOrderId(String extendOrderId);
+
     public List<FsExternalOrder> selectFsExternalOrderList(FsExternalOrder fsExternalOrder);
 
     public List<FsExternalOrderListVO> selectExternalOrderListVO(FsExternalOrder fsExternalOrder);

+ 8 - 1
fs-service/src/main/java/com/fs/his/service/impl/FsExternalOrderServiceImpl.java

@@ -614,8 +614,14 @@ public class FsExternalOrderServiceImpl implements IFsExternalOrderService {
                 }
 
                 for (ErpOrderQuery orderQuery : response.getOrders()) {
+                    log.info("同步外部订单 {} 发货信息:  deliverys={}",
+                            order.getOrderCode(),
+                            JSON.toJSONString(orderQuery.getDeliverys()));
                     if (orderQuery.getDeliverys() != null && !orderQuery.getDeliverys().isEmpty()) {
                         for (ErpDeliverys delivery : orderQuery.getDeliverys()) {
+                            log.info("发货明细: delivery={}, mail_no={}, express_code={}, express_name={}",
+                                    delivery.getDelivery(), delivery.getMail_no(),
+                                    delivery.getExpress_code(), delivery.getExpress_name());
                             if (delivery.getDelivery() && StringUtils.isNotEmpty(delivery.getMail_no())) {
                                 updateOrderDelivery(order, delivery);
                             }
@@ -667,7 +673,8 @@ public class FsExternalOrderServiceImpl implements IFsExternalOrderService {
 
         updateOrder.setDeliveryTime(new Date());
         fsExternalOrderMapper.updateFsExternalOrder(updateOrder);
-        subscribeExternalOrderExpress(localOrder, deliveryCode, delivery.getMail_no());
+        //订阅快递鸟
+//        subscribeExternalOrderExpress(localOrder, deliveryCode, delivery.getMail_no());
         log.info("外部订单已发货: {}, 快递: {}, 单号: {}", localOrder.getOrderCode(), deliveryCode, delivery.getMail_no());
     }
 

+ 5 - 0
fs-service/src/main/resources/mapper/his/FsExternalOrderMapper.xml

@@ -67,6 +67,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where order_code = #{orderCode}
     </select>
 
+    <select id="selectFsExternalOrderByExtendOrderId" parameterType="String" resultMap="FsExternalOrderResult">
+        <include refid="selectFsExternalOrderVo"/>
+        where extend_order_id = #{extendOrderId}
+    </select>
+
     <insert id="insertFsExternalOrder" parameterType="FsExternalOrder" useGeneratedKeys="true" keyProperty="orderId">
         insert into fs_external_order
         <trim prefix="(" suffix=")" suffixOverrides=",">