# 2026-06-11 工作日志

### 14. DeviceDataHandler 和 DeviceRegisterHandler 补充设备在线状态刷新

**问题**：之前只有 ACK 应答会调用 `refreshDeviceOnline()` 续期 Redis 中的设备在线状态。但设备只要上报电量或注册就证明在线，这两个场景没刷新在线缓存。后果：设备只上报数据不发 ACK 时，5 分钟后重试逻辑误判它为离线。

**修复**：
- `DeviceDataHandler.handle()` → 收到 `/publish/power` 后调用 `refreshDeviceOnline()`
- `DeviceRegisterHandler.handle()` → 注册后调用 `refreshDeviceOnline()`
- 两个 Handler 各自注入 `MqttProperties`，避免注入 `MqttCommandAckService` 引入新的循环依赖

**在线判定覆盖**（修复后）：
| 触发方式 | 是否刷新在线状态 |
|---|---|
| 设备上报电量 `/publish/power` | ✅ 新增 |
| 设备注册 `/publish/register` | ✅ 新增 |
| ACK 应答 `/publish/ack` | ✅ 原有 |
