From ff86e3738197b49ed20910501e1fe3f356e2a6e0 Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期五, 08 五月 2026 11:51:05 +0800
Subject: [PATCH] 重发优化
---
rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/RcsTvCallbackService.java | 35 +++++++++++++++++++++++++++++++++++
1 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/RcsTvCallbackService.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/RcsTvCallbackService.java
index 1abbb22..e515c6e 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/RcsTvCallbackService.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/RcsTvCallbackService.java
@@ -10,6 +10,9 @@
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
+import java.time.Instant;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
@@ -80,6 +83,38 @@
return rcsOk(value);
}
+ /** AGV 寮傚父鏁存鍐欏叆 tvManualErrorMsg锛屽悗娆¤鐩栧墠娆� */
+ public void publishAgvErrorToTv(JsonNode body) {
+ if (body == null || !body.isObject()) {
+ return;
+ }
+ String agvId = text(body.get("agvId"));
+ String faultName = text(body.get("faultName"));
+ String faultNo = text(body.get("faultNo"));
+ if ("undefined".equalsIgnoreCase(faultName)) {
+ faultName = "";
+ }
+ String prefix = StringUtils.hasText(agvId) ? ("銆怉GV" + agvId + "銆�") : "銆怉GV銆�";
+ String desc = StringUtils.hasText(faultName) ? faultName : "寮傚父";
+ StringBuilder sb = new StringBuilder(prefix).append(desc);
+ if (StringUtils.hasText(faultNo)) {
+ sb.append(" ").append(faultNo);
+ }
+ JsonNode tsNode = body.get("timestamp");
+ if (tsNode != null && tsNode.isNumber()) {
+ long ts = tsNode.asLong();
+ if (ts > 0) {
+ sb.append(" ")
+ .append(Instant.ofEpochMilli(ts)
+ .atZone(ZoneId.systemDefault())
+ .format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+ }
+ }
+ String value = sb.toString();
+ tvMonitorStringRedisTemplate.opsForValue().set(TvMonitorRedisKeys.TV_MANUAL_ERROR_MSG, value);
+ log.info("AGV 鎶ヨ宸插啓鍏� Redis tvManualErrorMsg agvId={}", agvId);
+ }
+
private static JsonNode resolveErrorArray(JsonNode body) {
if (body == null || body.isNull()) {
return null;
--
Gitblit v1.9.1