Files
wvp-platform/src/main/java/com/genersoft/iot/vmp
16337 8a540d59ba fix(aiot): 修复自动推送参数错误 - 使用deviceId而不是cameraId
问题:
- 自动推送配置时传入错误的参数:cameraId(如:cam_xxx)
- 但 writeDeviceAggregatedConfig() 期望的是 deviceId(如:edge-001)
- 导致Edge端收不到配置更新通知,仍然显示"有ROI但未找到配置"

根本原因:
- writeDeviceAggregatedConfig(deviceId, action) 方法:
  - 参数deviceId指的是Edge设备ID(edge-001)
  - 通过deviceId查询该设备下的所有摄像头
  - 发送Redis Stream通知:device_id=deviceId
- Edge端监听 device_id="edge-001" 的消息
- 但我们传入的是 cameraId="cam_xxx",导致通知发送到错误的频道

错误调用链:
save() → writeDeviceAggregatedConfig(cameraId, "UPDATE") 
       → Redis Stream: device_id="cam_xxx" 
       → Edge监听 device_id="edge-001"  收不到!

修复方案:
- 所有自动推送调用改为使用 roi.getDeviceId()
- 修复的方法:save(), delete(), bindAlgo(), unbindAlgo(), updateAlgoParams()
- 添加device_id为空的警告日志
- 日志中同时显示camera_id和device_id,便于调试

正确调用链:
save() → writeDeviceAggregatedConfig(deviceId, "UPDATE") 
       → Redis Stream: device_id="edge-001" 
       → Edge监听 device_id="edge-001"  正常接收!

影响:
- 现在自动推送会正确工作,无需手动推送
- Edge端能实时接收配置更新
- 新增/修改ROI后立即生效
2026-02-25 13:39:35 +08:00
..
2025-11-17 16:04:47 +08:00
2025-10-16 18:07:36 +08:00
2026-01-07 15:08:07 +08:00
2025-11-17 16:04:47 +08:00
2025-11-28 16:20:11 +08:00