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