From 8ab75ee6f68c3cde70319b9863db6947f668175f Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 22 Sep 2026 13:58:40 +0800
Subject: [PATCH] fix(station): 修复指令执行失败时状态更新异常问题

---
 src/main/java/com/xcong/excoin/modules/station/consumer/GateMessageConsumer.java |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/station/consumer/GateMessageConsumer.java b/src/main/java/com/xcong/excoin/modules/station/consumer/GateMessageConsumer.java
index 5fa4ce8..5561774 100644
--- a/src/main/java/com/xcong/excoin/modules/station/consumer/GateMessageConsumer.java
+++ b/src/main/java/com/xcong/excoin/modules/station/consumer/GateMessageConsumer.java
@@ -44,7 +44,10 @@
 
             } else if ("CMD_ACK".equals(type)) {
                 CmdAckMsg ack = JSON.parseObject(json.getString("payload"), CmdAckMsg.class);
-                instanceRegistry.updateState(apiKeyMd5, ack.getNewState());
+                // 防御:newState 为空时跳过更新,避免把实例状态污染为非法值(导致前端误置灰)
+                if (ack.getNewState() != null && !ack.getNewState().isEmpty()) {
+                    instanceRegistry.updateState(apiKeyMd5, ack.getNewState());
+                }
                 log.info("[Station] 指令确认: cmdId={}, success={}, newState={}",
                         ack.getCommandId(), ack.isSuccess(), ack.getNewState());
             }

--
Gitblit v1.9.1