Переглянути джерело

海博订单推送重试机制

wangming 5 днів тому
батько
коміт
9e8cdb2367

+ 4 - 3
yami-shop-platform/src/main/java/com/yami/shop/platform/task/OrderPushTask.java

@@ -1,6 +1,6 @@
 package com.yami.shop.platform.task;
 
-import com.yami.shop.service.OrderService;
+import com.yami.shop.service.hb.IHBOrderService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -14,12 +14,13 @@ public class OrderPushTask {
     private Logger log = LoggerFactory.getLogger(getClass());
 
     @Autowired
-    private OrderService orderService;
+    private IHBOrderService hbOrderService;
 
     @Scheduled(cron = "0 0 */1 * * ?")
+//    @Scheduled(cron = "0/2 * * * * ?")
     public synchronized void syncHBOrder() {
         log.info("海博订单同步定时任务开始");
-        orderService.syncHBOrder();
+        hbOrderService.syncHBOrder();
         log.info("海博订单同步定时任务结束");
     }
 

+ 1 - 1
yami-shop-service/src/main/java/com/yami/shop/service/OrderService.java

@@ -220,5 +220,5 @@ public interface OrderService extends IService<Order> {
 
     void returnRefundCheck(String refundNumber);
 
-    void syncHBOrder();
+    List<String> syncOrderList();
 }

+ 2 - 0
yami-shop-service/src/main/java/com/yami/shop/service/hb/IHBOrderService.java

@@ -77,4 +77,6 @@ public interface IHBOrderService {
      * @param hBRequest 海博订单结果请求参数
      */
     void merchantToSelf(JSONObject hBRequest);
+
+    void syncHBOrder();
 }

+ 8 - 0
yami-shop-service/src/main/java/com/yami/shop/service/hb/impl/HBOrderService.java

@@ -509,6 +509,14 @@ public class HBOrderService implements IHBOrderService {
         }
     }
 
+    @Override
+    public void syncHBOrder() {
+        List<String> orderList = orderMapper.syncOrderList();
+        if (!orderList.isEmpty()){
+            orderList.forEach(this::createOrderAsync);
+        }
+    }
+
 
     @Override
     public HBR details(JSONObject hbRequest) {

+ 2 - 8
yami-shop-service/src/main/java/com/yami/shop/service/impl/OrderServiceImpl.java

@@ -52,7 +52,6 @@ import com.yami.shop.common.util.PageParam;
 import com.yami.shop.common.util.R;
 import com.yami.shop.dao.*;
 import com.yami.shop.service.*;
-import com.yami.shop.service.hb.IHBOrderService;
 import com.yami.shop.utils.BinPackingUtil;
 import com.yami.shop.utils.CullenUtils;
 import com.yami.shop.utils.ExportUtils;
@@ -122,8 +121,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
     private final TzSysUserMapper userMapper;
     @Autowired
     private ExportTaskService exportTaskService;
-    @Autowired
-    private IHBOrderService hbOrderService;
 
     //导出
     // 线程池配置
@@ -1832,11 +1829,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
     }
 
     @Override
-    public void syncHBOrder() {
-        List<String> orderList = orderMapper.syncOrderList();
-        if (!orderList.isEmpty()){
-            orderList.forEach(c->hbOrderService.createOrderAsync(c));
-        }
+    public List<String> syncOrderList() {
+        return orderMapper.syncOrderList();
     }
 
     /**

+ 2 - 2
yami-shop-service/src/main/resources/mapper/OrderMapper.xml

@@ -781,12 +781,12 @@
                          LEFT JOIN tz_group_team gt ON gt.`group_team_id` = go.`group_team_id`
                      WHERE gt.`group_team_id` = #{groupTeamId}) temp)
     </update>
-    <update id="syncOrderList">
+    <select id="syncOrderList" resultType="string">
         SELECT DISTINCT a.order_number FROM `tz_order` a
         LEFT JOIN tz_order_push_log b on a.order_number=b.order_number
         WHERE a.create_time &gt;'2026-05-13 00:00:00' and ((ISNULL(b.order_number)) or (b.is_success=0))
+    </select>
 
-    </update>
     <update id="updateOrderPushLog">
         update tz_order_push_log set is_success=#{isSuccess},result=#{result} WHERE order_number=#{orderNumber}
     </update>