From 1c5108cbd44c7e577e389efa6ec15c5e6922df93 Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期四, 30 四月 2026 17:18:50 +0800
Subject: [PATCH] #上报 全量

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java |   29 +++++++++++++++++++++++------
 1 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java
index ebd6656..62c70f6 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java
@@ -15,7 +15,9 @@
 import com.vincent.rsf.server.manager.service.*;
 import com.vincent.rsf.server.manager.service.impl.StockItemServiceImpl;
 import com.vincent.rsf.server.manager.service.impl.StockServiceImpl;
+import com.vincent.rsf.server.system.constant.GlobalConfigCode;
 import com.vincent.rsf.server.system.entity.User;
+import com.vincent.rsf.server.system.service.ConfigService;
 import com.vincent.rsf.server.system.service.UserService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -65,6 +67,9 @@
     @Autowired
     private AsnOrderItemMapper asnOrderItemMapper;
 
+    @Autowired
+    private ConfigService configService;
+
     /**
      * @param
      * @return
@@ -72,7 +77,7 @@
      * @description 鍒犻櫎宸插畬鎴愯鍗曞姞鍏og琛�
      * @time 2025/3/19 19:09
      */
-    @Scheduled(cron = "0 0 5 * * ?")
+    @Scheduled(cron = "0 */5 * * * ?")
     @Transactional(rollbackFor = Exception.class)
     public void InStockToLog() {
         List<WkOrder> wkOrders = asnOrderService.list(new LambdaQueryWrapper<WkOrder>()
@@ -253,7 +258,7 @@
         }
     }
 
-    /** 鍒犻櫎鍘熷叆搴�/鍑哄簱閫氱煡鍗曞強鏄庣粏锛堣浆鍏ュ巻鍙插悗璋冪敤锛� */
+    /** 杞叆鍘嗗彶鍚庡鍘熷崟鍙婃槑缁嗛�昏緫鍒犻櫎 */
     private void removeOriginalOrderAndItems(WkOrder order) {
         if (!asnOrderItemService.remove(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getOrderId, order.getId()))) {
             throw new CoolException("鍘熷崟鎹槑缁嗗垹闄ゅけ璐ワ紒锛�");
@@ -263,12 +268,13 @@
         }
     }
 
-    /** 姣忔湀1鍙峰噷鏅ㄦ墽琛岋細鐗╃悊鍒犻櫎涓婁笂涓湀涔嬪墠宸茶閫昏緫鍒犻櫎鐨勫叆搴�/鍑哄簱閫氱煡鍗曞強鏄庣粏 */
+    /** 閫昏緫鍒犻櫎瓒呰繃閰嶇疆澶╂暟锛坽@link GlobalConfigCode#ASN_ORDER_LOGIC_DELETED_PURGE_AFTER_DAYS}锛岄粯璁� 60锛夊垯鐗╃悊娓呯悊鍘熷崟鍙婃槑缁� */
     @Scheduled(cron = "0 0 0 1 * ?")
     @Transactional(rollbackFor = Exception.class)
     public void physicalDeleteLogicDeletedOrders() {
-        LocalDate startOfTwoMonthsAgo = LocalDate.now().minusMonths(2).withDayOfMonth(1);
-        Date before = Date.from(startOfTwoMonthsAgo.atStartOfDay(ZoneId.systemDefault()).toInstant());
+        int keepDays = resolvePurgeAfterDays();
+        LocalDate cutoff = LocalDate.now().minusDays(keepDays);
+        Date before = Date.from(cutoff.atStartOfDay(ZoneId.systemDefault()).toInstant());
         List<Long> ids = asnOrderMapper.selectLogicDeletedOrderIdsBefore(before);
         if (ids == null || ids.isEmpty()) {
             return;
@@ -280,6 +286,17 @@
             asnOrderItemMapper.physicalDeleteByOrderIds(batch);
             asnOrderMapper.physicalDeleteByIds(batch);
         }
-        log.info("鐗╃悊鍒犻櫎涓婁笂涓湀涔嬪墠宸查�昏緫鍒犻櫎鐨勫師鍗曞強鏄庣粏锛岃鍗曟暟锛歿}", ids.size());
+        log.info("鐗╃悊鍒犻櫎宸查�昏緫鍒犻櫎瓒呰繃{}澶╃殑鍘熷崟鍙婃槑缁嗭紝璁㈠崟鏁帮細{}", keepDays, ids.size());
+    }
+
+    private int resolvePurgeAfterDays() {
+        try {
+            Integer v = configService.getVal(GlobalConfigCode.ASN_ORDER_LOGIC_DELETED_PURGE_AFTER_DAYS, Integer.class);
+            if (v != null && v >= 1) {
+                return v;
+            }
+        } catch (Exception ignored) {
+        }
+        return 30;
     }
 }

--
Gitblit v1.9.1