去掉定时任务后删除最后一条设备状态的逻辑,因为有设置过期

feasure
xce 2026-01-18 17:18:17 +08:00
parent d8aaa53ac2
commit 3e4ee7b4b2
1 changed files with 1 additions and 2 deletions

View File

@ -348,7 +348,7 @@ public class MqttMessageHandler implements SmartLifecycle {
}
if (!isValidStatus) {
log.debug("【设备状态包】结构不合法非8个功能码跳过Redis写入deviceId={}payload={}", deviceId, payload);
} else {
} else if(hasAutoOffTask(deviceId)){
// ✅ 8个功能码状态包无条件写device:latest:{deviceId},避免自动关读不到最新状态
stringRedisTemplate.opsForValue().set(
"device:latest:" + deviceId,
@ -472,7 +472,6 @@ public class MqttMessageHandler implements SmartLifecycle {
//todo
mqttMessageSender.publish(deviceTopic, down.toJSONString());
log.info("【自动关任务】检测仍在运行已下发关闭deviceId={}, funcType={}, payload={}", deviceId, funcType, down.toJSONString());
Boolean deleteSuccess = stringRedisTemplate.delete("device:latest:" + deviceId);
} else {
log.info("【自动关任务】检测未运行或状态未知跳过关闭deviceId={}, funcType={}, current={}", deviceId, funcType, current);
}