From 7c1925bab1b77c0489036d90e0edb9004a60b200 Mon Sep 17 00:00:00 2001 From: zqc <835569504@qq.com> Date: Thu, 8 Jan 2026 17:10:30 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E8=BF=87=E7=89=B9=E5=AE=9A=E7=9A=84sc?= =?UTF-8?q?ope=E5=92=8Ctarget=5Fid=E6=9F=A5=E6=89=BEsur=5Fconfig=E5=86=8D?= =?UTF-8?q?=E6=9F=A5=E6=89=BEsur=5Fconfig=5Fbase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/routes/algorithm_router.py | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/api/routes/algorithm_router.py b/api/routes/algorithm_router.py index 2723050..e6cbba0 100644 --- a/api/routes/algorithm_router.py +++ b/api/routes/algorithm_router.py @@ -13,7 +13,7 @@ from config import settings from database.connection import db_manager from models.face_feature import FeatureStatus from models.video_check_task import SurVideoCheckTask -from models.sur_config import SurConfigBase +from models.sur_config import SurConfigBase, SurConfig from models.sur_person import SurPersonBlacklist, SurFaceFeature from repositories.face_feature_repository import FaceFeatureRepository from algorithm.face_recognition_algorithm import FaceRecognitionAlgorithm @@ -838,11 +838,31 @@ def sync_videofaceprisonbiz_params(): """ try: with db_manager.get_session() as session: - # 查询人脸识别配置(根据实际表结构) + # 查询sur_config表,条件为scope=1且target_id=3 + prison_config = session.query(SurConfig).filter( + SurConfig.scope == 1, # 房间作用域 + SurConfig.target_id == 3, # 目标ID为3 + SurConfig.config_type == settings.SUR_CONFIG_TYPE_FACE # 人脸识别配置类型 + ).first() + + if not prison_config: + logger.warning("未找到监狱场景的配置记录(scope=1, target_id=3)") + return 0 + + if not prison_config.config_group_id: + logger.warning("监狱配置记录缺少config_group_id") + return 0 + + # 使用联表查询 config_records = session.query(SurConfigBase).filter( + SurConfigBase.group_id == prison_config.config_group_id, SurConfigBase.config_type == settings.SUR_CONFIG_TYPE_FACE ).all() + if not config_records: + logger.warning(f"未找到对应的配置基础记录(group_id={prison_config.config_group_id})") + return 0 + # 构建配置参数字典 config_params = {} for record in config_records: @@ -906,7 +926,7 @@ def sync_videofaceprisonbiz_params(): except ValueError: logger.error(f"无效的相似度阈值: {config_value}") - logger.info(f"✅ 同步VideoFacePrisonBiz参数完成,更新了 {updated_count} 个参数") + logger.info(f"✅ 同步VideoFacePrisonBiz参数完成,更新了 {updated_count} 个参数(配置组ID: {prison_config.config_group_id})") return updated_count except Exception as e: