From a8a10ec2a3fe7d8db166413a92a34926fb178533 Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期三, 29 四月 2026 19:59:17 +0800
Subject: [PATCH] 重发机制兼容
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/CloudWmsNotifySchedule.java | 20 ++++++++++++++++----
1 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/CloudWmsNotifySchedule.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/CloudWmsNotifySchedule.java
index 1cd040a..dba5a77 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/CloudWmsNotifySchedule.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/CloudWmsNotifySchedule.java
@@ -32,7 +32,8 @@
@Scheduled(cron = "0/30 * * * * ?")
public void syncCloudWmsNotify() {
- List<CloudWmsNotifyLog> pending = cloudWmsNotifyLogService.listPending(BATCH_LIMIT, 999);
+ // List<CloudWmsNotifyLog> pending = cloudWmsNotifyLogService.listPending(BATCH_LIMIT, 999);
+ List<CloudWmsNotifyLog> pending = cloudWmsNotifyLogService.listPending(BATCH_LIMIT, -1);
if (pending.isEmpty()) {
return;
}
@@ -44,7 +45,10 @@
if (maxRetry == null || intervalSeconds == null || intervalSeconds <= 0) {
continue;
}
- if (logRecord.getRetryCount() != null && logRecord.getRetryCount() >= maxRetry) {
+ // if (logRecord.getRetryCount() != null && logRecord.getRetryCount() >= maxRetry) {
+ if (!isInfiniteRetry(maxRetry)
+ && logRecord.getRetryCount() != null
+ && logRecord.getRetryCount() >= maxRetry) {
continue;
}
if (logRecord.getLastNotifyTime() != null) {
@@ -99,7 +103,7 @@
Object codeObj = res != null ? res.get("code") : null;
boolean success = Integer.valueOf(200).equals(codeObj);
int status = success ? cloudWmsNotifyLogService.getNotifyStatusSuccess() : cloudWmsNotifyLogService.getNotifyStatusPending();
- if (!success && nextRetry >= effectiveMaxRetry) {
+ if (!success && !isInfiniteRetry(effectiveMaxRetry) && nextRetry >= effectiveMaxRetry) {
status = cloudWmsNotifyLogService.getNotifyStatusFail();
}
logRecord.setLastRequestBody(requestBody);
@@ -116,8 +120,16 @@
logRecord.setLastResponseBody(errorMsg);
logRecord.setLastNotifyTime(now);
logRecord.setRetryCount(nextRetry);
- logRecord.setNotifyStatus(nextRetry >= effectiveMaxRetry ? cloudWmsNotifyLogService.getNotifyStatusFail() : cloudWmsNotifyLogService.getNotifyStatusPending());
+ // logRecord.setNotifyStatus(nextRetry >= effectiveMaxRetry ? cloudWmsNotifyLogService.getNotifyStatusFail() : cloudWmsNotifyLogService.getNotifyStatusPending());
+ logRecord.setNotifyStatus(!isInfiniteRetry(effectiveMaxRetry) && nextRetry >= effectiveMaxRetry
+ ? cloudWmsNotifyLogService.getNotifyStatusFail()
+ : cloudWmsNotifyLogService.getNotifyStatusPending());
logRecord.setUpdateTime(now);
cloudWmsNotifyLogService.updateById(logRecord);
}
+
+ /** maxRetry = -1 琛ㄧず鏃犻檺閲嶅彂 */
+ private boolean isInfiniteRetry(Integer maxRetry) {
+ return maxRetry != null && maxRetry == -1;
+ }
}
--
Gitblit v1.9.1