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