From 9b6fd1e261d3e6546d300ff1f8b875b3a105c451 Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期四, 30 四月 2026 17:55:10 +0800
Subject: [PATCH] #上报 全量
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CloudWmsNotifyLogServiceImpl.java | 28 +++++++++++++++++++++++-----
1 files changed, 23 insertions(+), 5 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CloudWmsNotifyLogServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CloudWmsNotifyLogServiceImpl.java
index ab82ef8..e3b7043 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CloudWmsNotifyLogServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CloudWmsNotifyLogServiceImpl.java
@@ -22,11 +22,22 @@
@Override
public List<CloudWmsNotifyLog> listPending(int limit, int maxRetry) {
- Page<CloudWmsNotifyLog> page = new Page<>(1, Math.max(1, limit));
LambdaQueryWrapper<CloudWmsNotifyLog> wrapper = new LambdaQueryWrapper<CloudWmsNotifyLog>()
- .eq(CloudWmsNotifyLog::getNotifyStatus, getNotifyStatusPending())
- .lt(CloudWmsNotifyLog::getRetryCount, maxRetry)
+ // 浠呮煡璇㈡暟鎹簱閰嶇疆鐘舵�侊細寰呴�氱煡 + 澶辫触锛堝彲閲嶈瘯锛�
+ .in(CloudWmsNotifyLog::getNotifyStatus, getNotifyStatusPending(), getNotifyStatusFail())
+ // 浠呮煡璇㈠彲閲嶈瘯鏁版嵁锛氭棤闄愰噸璇曘�佹湭閰嶇疆涓婇檺銆佹垨鏈揪鍒颁笂闄�
+ .apply("(max_retry_count IS NULL OR max_retry_count = -1 OR retry_count < max_retry_count)")
+ // 浠呮煡璇㈠凡鍒伴噸璇曟椂闂寸殑鏁版嵁锛岄伩鍏嶅墠 50 鏉℃湭鍒伴棿闅斿鑷村悗缁褰曢暱鏈熼ゥ楗�
+ .apply("(last_notify_time IS NULL OR retry_interval_seconds IS NULL OR retry_interval_seconds <= 0 OR TIMESTAMPDIFF(SECOND, last_notify_time, NOW()) >= retry_interval_seconds)")
+ .orderByAsc(CloudWmsNotifyLog::getLastNotifyTime)
.orderByAsc(CloudWmsNotifyLog::getId);
+ if (maxRetry >= 0) {
+ wrapper.lt(CloudWmsNotifyLog::getRetryCount, maxRetry);
+ }
+ if (limit < 0) {
+ return list(wrapper);
+ }
+ Page<CloudWmsNotifyLog> page = new Page<>(1, Math.max(1, limit));
return page(page, wrapper).getRecords();
}
@@ -56,7 +67,10 @@
}
private String getConfigString(String flag, String defaultVal) {
- Config c = configService.getOne(new LambdaQueryWrapper<Config>().eq(Config::getFlag, flag).last("LIMIT 1"));
+ Config c = configService.getOne(new LambdaQueryWrapper<Config>()
+ .eq(Config::getFlag, flag)
+ .orderByDesc(Config::getId)
+ .last("LIMIT 1"));
if (c != null && c.getVal() != null && !c.getVal().isEmpty()) {
return c.getVal().trim();
}
@@ -72,6 +86,7 @@
public void fillFromConfig(CloudWmsNotifyLog log) {
Integer maxRetry = getConfigInt(GlobalConfigCode.CLOUD_WMS_NOTIFY_MAX_RETRY);
Integer interval = getConfigInt(GlobalConfigCode.CLOUD_WMS_NOTIFY_RETRY_INTERVAL_SECONDS);
+ log.setNotifyStatus(getNotifyStatusPending());
log.setMaxRetryCount(maxRetry);
log.setRetryIntervalSeconds(interval);
}
@@ -79,7 +94,10 @@
/** 杩斿洖 null 琛ㄧず鏈厤缃垨瑙f瀽澶辫触 */
private Integer getConfigInt(String flag) {
try {
- Config c = configService.getOne(new LambdaQueryWrapper<Config>().eq(Config::getFlag, flag).last("LIMIT 1"));
+ Config c = configService.getOne(new LambdaQueryWrapper<Config>()
+ .eq(Config::getFlag, flag)
+ .orderByDesc(Config::getId)
+ .last("LIMIT 1"));
if (c != null && c.getVal() != null && !c.getVal().isEmpty()) {
return Integer.parseInt(c.getVal().trim());
}
--
Gitblit v1.9.1