feat(video): 添加模型名称字段以支持动态模型选择

- 在 InspectionTask 实体类中新增 modelName 字段及其 getter/setter 方法
- 更新 MyBatis 映射文件,增加对 model_name 字段的映射和支持
- 修改 SQL 查询语句,在查询条件和插入、更新操作中加入 modelName 字段处理
- 调整 VideoAnalysisService 中的模型选择逻辑,优先使用任务配置的模型名称
- 记录日志输出所使用的模型名称及对应的任务ID,便于追踪分析过程
This commit is contained in:
2025-10-07 16:07:23 +08:00
parent 4cec966613
commit 7096359434
3 changed files with 29 additions and 11 deletions

View File

@@ -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);