diff --git a/src/main/java/com/genersoft/iot/vmp/aiot/service/impl/AiConfigServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/aiot/service/impl/AiConfigServiceImpl.java index 9dd588dd1..a0ba4979b 100644 --- a/src/main/java/com/genersoft/iot/vmp/aiot/service/impl/AiConfigServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/aiot/service/impl/AiConfigServiceImpl.java @@ -32,6 +32,7 @@ import org.springframework.http.MediaType; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpEntity; +import javax.annotation.PostConstruct; import java.util.*; @Slf4j @@ -65,6 +66,22 @@ public class AiConfigServiceImpl implements IAiConfigService { private final ObjectMapper objectMapper = new ObjectMapper(); + /** + * 启动时统一 ROI 表中的 device_id,确保与 Edge 端 EDGE_DEVICE_ID 一致 + */ + @PostConstruct + public void normalizeDeviceIds() { + try { + String defaultDeviceId = getDefaultDeviceId(); + int updated = roiMapper.updateAllDeviceId(defaultDeviceId); + if (updated > 0) { + log.info("[AiConfig] 启动时统一 {} 条 ROI 的 device_id → {}", updated, defaultDeviceId); + } + } catch (Exception e) { + log.warn("[AiConfig] 启动时修复 device_id 失败: {}", e.getMessage()); + } + } + @Override public Map exportConfig(String cameraId) { Map config = new LinkedHashMap<>();