通过特定的scope和target_id查找sur_config再查找sur_config_base
This commit is contained in:
@@ -13,7 +13,7 @@ from config import settings
|
|||||||
from database.connection import db_manager
|
from database.connection import db_manager
|
||||||
from models.face_feature import FeatureStatus
|
from models.face_feature import FeatureStatus
|
||||||
from models.video_check_task import SurVideoCheckTask
|
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 models.sur_person import SurPersonBlacklist, SurFaceFeature
|
||||||
from repositories.face_feature_repository import FaceFeatureRepository
|
from repositories.face_feature_repository import FaceFeatureRepository
|
||||||
from algorithm.face_recognition_algorithm import FaceRecognitionAlgorithm
|
from algorithm.face_recognition_algorithm import FaceRecognitionAlgorithm
|
||||||
@@ -838,11 +838,31 @@ def sync_videofaceprisonbiz_params():
|
|||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
with db_manager.get_session() as session:
|
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(
|
config_records = session.query(SurConfigBase).filter(
|
||||||
|
SurConfigBase.group_id == prison_config.config_group_id,
|
||||||
SurConfigBase.config_type == settings.SUR_CONFIG_TYPE_FACE
|
SurConfigBase.config_type == settings.SUR_CONFIG_TYPE_FACE
|
||||||
).all()
|
).all()
|
||||||
|
|
||||||
|
if not config_records:
|
||||||
|
logger.warning(f"未找到对应的配置基础记录(group_id={prison_config.config_group_id})")
|
||||||
|
return 0
|
||||||
|
|
||||||
# 构建配置参数字典
|
# 构建配置参数字典
|
||||||
config_params = {}
|
config_params = {}
|
||||||
for record in config_records:
|
for record in config_records:
|
||||||
@@ -906,7 +926,7 @@ def sync_videofaceprisonbiz_params():
|
|||||||
except ValueError:
|
except ValueError:
|
||||||
logger.error(f"无效的相似度阈值: {config_value}")
|
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
|
return updated_count
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
Reference in New Issue
Block a user