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()); }