Parcourir la source

定时更改超时订单bug修复

codingliang il y a 1 an
Parent
commit
c56593ab4a
1 fichiers modifiés avec 10 ajouts et 6 suppressions
  1. 10 6
      src/main/java/com/sqx/scheduler/order/OrderScheduler.java

+ 10 - 6
src/main/java/com/sqx/scheduler/order/OrderScheduler.java

@@ -175,13 +175,12 @@ public class OrderScheduler {
         lock.lock();
         try {
             log.info("超时订单自动取消任务开始运行");
-//            查询所有超时时间不为空的待结账订单
             LambdaQueryWrapper<TbOrder> wrapper=new LambdaQueryWrapper<>();
-            wrapper.eq(TbOrder::getStatus,0)
-                    .isNotNull(TbOrder::getTimeOut);
-            List<TbOrder> orderList = orderService.list(wrapper);
+            wrapper.eq(TbOrder::getStatus,0);
+            wrapper.isNotNull(TbOrder::getTimeOut);
 
-            if (orderList.size()==0) {
+            List<TbOrder> orderList = orderService.list(wrapper);
+            if (CollUtil.isEmpty(orderList)) {
                 log.info("没有符合条件的超时订单,超时订单自动取消任务运行....");
                 return;
             }
@@ -190,12 +189,17 @@ public class OrderScheduler {
             ArrayList<TbOrder> orders = new ArrayList<>();
             for (TbOrder tbOrder : orderList) {
                 Long timeOut = tbOrder.getTimeOut();
-                if (time>timeOut) {
+                if (time > timeOut) {
                     tbOrder.setStatus(5);
                     orders.add(tbOrder);
                 }
             }
 
+            if (CollUtil.isEmpty(orders)) {
+                log.info("没有符合条件的超时订单,超时订单自动取消任务运行....");
+                return;
+            }
+
             orderService.updateBatchById(orders);
 
             log.info("超时订单自动取消运行成功");