From 7096359434c1f0544af8bb0b21ed28c1054f5b54 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Tue, 7 Oct 2025 16:07:23 +0800 Subject: [PATCH] =?UTF-8?q?feat(video):=20=E6=B7=BB=E5=8A=A0=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E5=90=8D=E7=A7=B0=E5=AD=97=E6=AE=B5=E4=BB=A5=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E5=8A=A8=E6=80=81=E6=A8=A1=E5=9E=8B=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 InspectionTask 实体类中新增 modelName 字段及其 getter/setter 方法 - 更新 MyBatis 映射文件,增加对 model_name 字段的映射和支持 - 修改 SQL 查询语句,在查询条件和插入、更新操作中加入 modelName 字段处理 - 调整 VideoAnalysisService 中的模型选择逻辑,优先使用任务配置的模型名称 - 记录日志输出所使用的模型名称及对应的任务ID,便于追踪分析过程 --- .../ruoyi/video/domain/InspectionTask.java | 10 ++++++++ .../video/service/VideoAnalysisService.java | 7 ++++-- .../mapper/video/InspectionTaskMapper.xml | 23 +++++++++++-------- 3 files changed, 29 insertions(+), 11 deletions(-) diff --git a/ruoyi-video/src/main/java/com/ruoyi/video/domain/InspectionTask.java b/ruoyi-video/src/main/java/com/ruoyi/video/domain/InspectionTask.java index 431d0d2..6e19c76 100644 --- a/ruoyi-video/src/main/java/com/ruoyi/video/domain/InspectionTask.java +++ b/ruoyi-video/src/main/java/com/ruoyi/video/domain/InspectionTask.java @@ -52,6 +52,16 @@ public class InspectionTask extends BaseEntity { /** 报警次数 */ private Long alarmCount; + private String modelName; + + public void setModelName(String modelName) { + this.modelName = modelName; + } + public String getModelName() { + return modelName; + } + + public void setTaskId(Long taskId) { this.taskId = taskId; } diff --git a/ruoyi-video/src/main/java/com/ruoyi/video/service/VideoAnalysisService.java b/ruoyi-video/src/main/java/com/ruoyi/video/service/VideoAnalysisService.java index be3b11f..ce879b0 100644 --- a/ruoyi-video/src/main/java/com/ruoyi/video/service/VideoAnalysisService.java +++ b/ruoyi-video/src/main/java/com/ruoyi/video/service/VideoAnalysisService.java @@ -72,7 +72,6 @@ public class VideoAnalysisService { /** * 分析视频并更新记录(同步调用) * @param task 巡检任务 - * @param record 巡检记录 * @param videoFile 视频文件 */ public void analyzeVideoWithRecord(InspectionTask task, com.ruoyi.video.domain.InspectionTaskRecord record, File videoFile) { @@ -83,7 +82,11 @@ public class VideoAnalysisService { File outputVideoFile = File.createTempFile("analysis_output_", ".mp4"); // 创建检测器 - HttpYoloDetector detector = new HttpYoloDetector("yolov8", PYTHON_API_URL, MODEL_NAME, 0x00FF00); + String chosenModel = (task.getModelName() != null && !task.getModelName().trim().isEmpty()) + ? task.getModelName().trim() + : MODEL_NAME; + log.info("使用模型进行分析: {} (taskId={})", chosenModel, task.getTaskId()); + HttpYoloDetector detector = new HttpYoloDetector("yolov8", PYTHON_API_URL, chosenModel, 0x00FF00); // 处理视频并记录检测结果 String detectionResult = processVideoWithRecord(videoFile, outputVideoFile, detector, task, record); diff --git a/ruoyi-video/src/main/resources/mapper/video/InspectionTaskMapper.xml b/ruoyi-video/src/main/resources/mapper/video/InspectionTaskMapper.xml index 1f89a30..5a44273 100644 --- a/ruoyi-video/src/main/resources/mapper/video/InspectionTaskMapper.xml +++ b/ruoyi-video/src/main/resources/mapper/video/InspectionTaskMapper.xml @@ -1,9 +1,9 @@ + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -17,6 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -26,23 +27,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select task_id, task_name, device_id, device_name, cron_expression, duration, - threshold, enable_detection, status, execute_count, alarm_count, - last_execute_time, remark, create_by, create_time, update_by, update_time + threshold, enable_detection, status, execute_count, alarm_count, + last_execute_time, model_name, remark, create_by, create_time, update_by, update_time from v_inspection_task - +