Przeglądaj źródła

feat: 订单超时自动取消

xdd 2 miesięcy temu
rodzic
commit
46dc947d3a

+ 1 - 0
fs-admin/src/main/java/com/fs/task/PaymentTask.java

@@ -26,6 +26,7 @@ public class PaymentTask {
     /**
      * 超时订单自动取消
      */
+    @QuartzRunnable(name = "超时订单自动取消")
     public void orderCancel(){
         fsStoreOrderService.orderCancel();
     }

+ 1 - 0
fs-service-system/src/main/java/com/fs/store/mapper/FsStoreOrderMapper.java

@@ -1098,4 +1098,5 @@ public interface FsStoreOrderMapper
 
     List<FsStoreOrder> selectDeliverPendingData();
 
+    List<FsStoreOrder> selectFsOutDateOrder();
 }

+ 5 - 2
fs-service-system/src/main/java/com/fs/store/service/impl/FsStoreOrderServiceImpl.java

@@ -890,7 +890,10 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
         }
     }
 
-    //未支付取消订单
+    /**
+     * 未支付取消订单
+     * @param orderId 订单id
+     */
     @Override
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
     public void cancelOrder(Long orderId) {
@@ -1615,7 +1618,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
 
     @Override
     public List<FsStoreOrder> selectFsOutDateOrder() {
-        return Collections.emptyList();
+        return fsStoreOrderMapper.selectFsOutDateOrder();
     }
 
     @Override

+ 6 - 0
fs-service-system/src/main/resources/mapper/store/FsStoreOrderMapper.xml

@@ -468,5 +468,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectDeliverPendingData" resultType="com.fs.store.domain.FsStoreOrder">
         select * from fs_store_order where extend_order_id is not null and `status`=1
     </select>
+    <select id="selectFsOutDateOrder" resultType="com.fs.store.domain.FsStoreOrder">
+        SELECT id
+        FROM fs_store_order
+        WHERE status = 0
+        AND create_time &lt; DATE_SUB(NOW(), INTERVAL 1800 MINUTE);
+    </select>
 
 </mapper>