diff --git a/src/main/java/com/genersoft/iot/vmp/aiot/service/impl/AiRoiServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/aiot/service/impl/AiRoiServiceImpl.java index 05467456a..c9843ceea 100644 --- a/src/main/java/com/genersoft/iot/vmp/aiot/service/impl/AiRoiServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/aiot/service/impl/AiRoiServiceImpl.java @@ -84,13 +84,19 @@ public class AiRoiServiceImpl implements IAiRoiService { } // 推送配置到 Edge(新增/更新操作) - if (cameraId != null) { + String deviceId = roi.getDeviceId(); + if (deviceId != null && !deviceId.isEmpty()) { try { - redisConfigService.writeDeviceAggregatedConfig(cameraId, "UPDATE"); - log.info("[AiRoi] {}ROI后推送配置到Edge,camera_id={}", isUpdate ? "更新" : "新增", cameraId); + redisConfigService.writeDeviceAggregatedConfig(deviceId, "UPDATE"); + log.info("[AiRoi] {}ROI后推送配置到Edge,camera_id={}, device_id={}", + isUpdate ? "更新" : "新增", cameraId, deviceId); } catch (Exception e) { - log.error("[AiRoi] {}ROI后推送配置失败,camera_id={}", isUpdate ? "更新" : "新增", cameraId, e); + log.error("[AiRoi] {}ROI后推送配置失败,camera_id={}, device_id={}", + isUpdate ? "更新" : "新增", cameraId, deviceId, e); } + } else { + log.warn("[AiRoi] {}ROI但device_id为空,跳过推送配置,camera_id={}", + isUpdate ? "更新" : "新增", cameraId); } } @@ -121,17 +127,20 @@ public class AiRoiServiceImpl implements IAiRoiService { AiRoi old = roiMapper.queryByRoiId(roiId); if (old != null) { String cameraId = old.getCameraId(); + String deviceId = old.getDeviceId(); bindMapper.deleteByRoiId(roiId); roiMapper.deleteByRoiId(roiId); configLogService.addLog("ROI", roiId, toJson(old), null, null); // 推送配置到 Edge(删除操作) - if (cameraId != null) { + if (deviceId != null && !deviceId.isEmpty()) { try { - redisConfigService.writeDeviceAggregatedConfig(cameraId, "UPDATE"); - log.info("[AiRoi] 删除 ROI 后推送配置到 Edge,camera_id={}", cameraId); + redisConfigService.writeDeviceAggregatedConfig(deviceId, "UPDATE"); + log.info("[AiRoi] 删除ROI后推送配置到Edge,camera_id={}, device_id={}", cameraId, deviceId); } catch (Exception e) { - log.error("[AiRoi] 删除 ROI 后推送配置失败,camera_id={}", cameraId, e); + log.error("[AiRoi] 删除ROI后推送配置失败,camera_id={}, device_id={}", cameraId, deviceId, e); } + } else { + log.warn("[AiRoi] 删除ROI但device_id为空,跳过推送配置,camera_id={}", cameraId); } } } @@ -196,12 +205,19 @@ public class AiRoiServiceImpl implements IAiRoiService { String roiId = bind.getRoiId(); if (roiId != null) { AiRoi roi = roiMapper.queryByRoiId(roiId); - if (roi != null && roi.getCameraId() != null) { - try { - redisConfigService.writeDeviceAggregatedConfig(roi.getCameraId(), "UPDATE"); - log.info("[AiRoi] 绑定算法后推送配置到Edge,camera_id={}, algo={}", roi.getCameraId(), bind.getAlgoCode()); - } catch (Exception e) { - log.error("[AiRoi] 绑定算法后推送配置失败,camera_id={}", roi.getCameraId(), e); + if (roi != null) { + String deviceId = roi.getDeviceId(); + if (deviceId != null && !deviceId.isEmpty()) { + try { + redisConfigService.writeDeviceAggregatedConfig(deviceId, "UPDATE"); + log.info("[AiRoi] 绑定算法后推送配置到Edge,camera_id={}, device_id={}, algo={}", + roi.getCameraId(), deviceId, bind.getAlgoCode()); + } catch (Exception e) { + log.error("[AiRoi] 绑定算法后推送配置失败,camera_id={}, device_id={}", + roi.getCameraId(), deviceId, e); + } + } else { + log.warn("[AiRoi] 绑定算法但device_id为空,跳过推送配置,camera_id={}", roi.getCameraId()); } } } @@ -218,12 +234,19 @@ public class AiRoiServiceImpl implements IAiRoiService { // 推送配置到 Edge(解绑算法) if (roiId != null) { AiRoi roi = roiMapper.queryByRoiId(roiId); - if (roi != null && roi.getCameraId() != null) { - try { - redisConfigService.writeDeviceAggregatedConfig(roi.getCameraId(), "UPDATE"); - log.info("[AiRoi] 解绑算法后推送配置到 Edge,camera_id={}", roi.getCameraId()); - } catch (Exception e) { - log.error("[AiRoi] 解绑算法后推送配置失败,camera_id={}", roi.getCameraId(), e); + if (roi != null) { + String deviceId = roi.getDeviceId(); + if (deviceId != null && !deviceId.isEmpty()) { + try { + redisConfigService.writeDeviceAggregatedConfig(deviceId, "UPDATE"); + log.info("[AiRoi] 解绑算法后推送配置到Edge,camera_id={}, device_id={}", + roi.getCameraId(), deviceId); + } catch (Exception e) { + log.error("[AiRoi] 解绑算法后推送配置失败,camera_id={}, device_id={}", + roi.getCameraId(), deviceId, e); + } + } else { + log.warn("[AiRoi] 解绑算法但device_id为空,跳过推送配置,camera_id={}", roi.getCameraId()); } } } @@ -242,6 +265,28 @@ public class AiRoiServiceImpl implements IAiRoiService { bindMapper.updateByBindId(bind); configLogService.addLog("BIND", bind.getBindId(), toJson(old), toJson(bind), null); + // 推送配置到 Edge(更新算法参数) + String roiId = old.getRoiId(); + if (roiId != null) { + AiRoi roi = roiMapper.queryByRoiId(roiId); + if (roi != null) { + String deviceId = roi.getDeviceId(); + if (deviceId != null && !deviceId.isEmpty()) { + try { + redisConfigService.writeDeviceAggregatedConfig(deviceId, "UPDATE"); + log.info("[AiRoi] 更新算法参数后推送配置到Edge,camera_id={}, device_id={}, bind_id={}", + roi.getCameraId(), deviceId, bind.getBindId()); + } catch (Exception e) { + log.error("[AiRoi] 更新算法参数后推送配置失败,camera_id={}, device_id={}", + roi.getCameraId(), deviceId, e); + } + } else { + log.warn("[AiRoi] 更新算法参数但device_id为空,跳过推送配置,camera_id={}", roi.getCameraId()); + } + } + } + } + // 推送配置到 Edge(更新算法参数) String roiId = old.getRoiId(); if (roiId != null) {