From 6062e826f1b1acde1bfe2887353c1214f2af12d6 Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期四, 30 四月 2026 17:07:58 +0800
Subject: [PATCH] #上报 打印

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/CloudWmsNotifySchedule.java |   39 +++++++++++++++++++++++++++++++++------
 1 files changed, 33 insertions(+), 6 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 56defcf..4731b69 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
@@ -7,6 +7,9 @@
 import com.vincent.rsf.server.api.service.CloudWmsReportService;
 import com.vincent.rsf.server.manager.entity.CloudWmsNotifyLog;
 import com.vincent.rsf.server.manager.service.CloudWmsNotifyLogService;
+import com.vincent.rsf.server.system.constant.GlobalConfigCode;
+import com.vincent.rsf.server.system.entity.Config;
+import com.vincent.rsf.server.system.service.ConfigService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -22,6 +25,7 @@
 public class CloudWmsNotifySchedule {
 
     private static final int BATCH_LIMIT = 50;
+    private static final int STORE_BODY_MAX_CHARS_DEFAULT = 2000;
 
     @Autowired
     private CloudWmsNotifyLogService cloudWmsNotifyLogService;
@@ -29,6 +33,8 @@
     private CloudWmsReportService cloudWmsReportService;
     @Autowired
     private ObjectMapper objectMapper;
+    @Autowired
+    private ConfigService configService;
 
     @Scheduled(cron = "0/30 * * * * ?")
     public void syncCloudWmsNotify() {
@@ -58,8 +64,8 @@
                 if (logRecord.getLastNotifyTime() != null) {
                     long elapsed = (nowMs - logRecord.getLastNotifyTime().getTime()) / 1000;
                     if (elapsed < intervalSeconds) {
-                        log.info("浜戜粨涓婃姤寰呭姙璺宠繃锛氭湭鍒伴噸璇曢棿闅旓紝id={}锛宐izRef={}锛宔lapsed={}s锛宨nterval={}s",
-                                logRecord.getId(), logRecord.getBizRef(), elapsed, intervalSeconds);
+//                        log.info("浜戜粨涓婃姤寰呭姙璺宠繃锛氭湭鍒伴噸璇曢棿闅旓紝id={}锛宐izRef={}锛宔lapsed={}s锛宨nterval={}s",
+//                                logRecord.getId(), logRecord.getBizRef(), elapsed, intervalSeconds);
                         continue;
                     }
                 }
@@ -112,8 +118,8 @@
         Object statusObj = res != null ? res.get("status") : null;
         boolean success = Integer.valueOf(200).equals(codeObj) || Integer.valueOf(200).equals(statusObj);
         int status = success ? cloudWmsNotifyLogService.getNotifyStatusSuccess() : cloudWmsNotifyLogService.getNotifyStatusFail();
-        logRecord.setLastRequestBody(requestBody);
-        logRecord.setLastResponseBody(responseJson);
+        logRecord.setLastRequestBody(truncateForStore(requestBody));
+        logRecord.setLastResponseBody(truncateForStore(responseJson));
         logRecord.setLastNotifyTime(now);
         logRecord.setRetryCount(nextRetry);
         logRecord.setNotifyStatus(status);
@@ -124,8 +130,8 @@
     }
 
     private void setFailResult(CloudWmsNotifyLog logRecord, String requestBody, String errorMsg, int nextRetry, Date now, int effectiveMaxRetry) {
-        logRecord.setLastRequestBody(requestBody);
-        logRecord.setLastResponseBody(errorMsg);
+        logRecord.setLastRequestBody(truncateForStore(requestBody));
+        logRecord.setLastResponseBody(truncateForStore(errorMsg));
         logRecord.setLastNotifyTime(now);
         logRecord.setRetryCount(nextRetry);
         // logRecord.setNotifyStatus(nextRetry >= effectiveMaxRetry ? cloudWmsNotifyLogService.getNotifyStatusFail() : cloudWmsNotifyLogService.getNotifyStatusPending());
@@ -143,4 +149,25 @@
     private boolean isInfiniteRetry(Integer maxRetry) {
         return maxRetry != null && maxRetry == -1;
     }
+
+    private String truncateForStore(String body) {
+        int maxChars = resolveStoreBodyMaxChars();
+        if (body == null || body.length() <= maxChars) {
+            return body;
+        }
+        return body.substring(0, maxChars);
+    }
+
+    private int resolveStoreBodyMaxChars() {
+        try {
+            Config cfg = configService.getCachedOrLoad(GlobalConfigCode.CLOUD_WMS_NOTIFY_STORE_BODY_MAX_CHARS);
+            if (cfg == null || cfg.getVal() == null || cfg.getVal().trim().isEmpty()) {
+                return STORE_BODY_MAX_CHARS_DEFAULT;
+            }
+            int parsed = Integer.parseInt(cfg.getVal().trim());
+            return parsed > 0 ? parsed : STORE_BODY_MAX_CHARS_DEFAULT;
+        } catch (Exception e) {
+            return STORE_BODY_MAX_CHARS_DEFAULT;
+        }
+    }
 }

--
Gitblit v1.9.1