修复:list_alarm 中文参数映射,VLM 传中文类型/状态时自动转换为英文编码

This commit is contained in:
2026-03-20 13:57:27 +08:00
parent bcb625782c
commit a79c829d3e

View File

@@ -463,11 +463,29 @@ class AgentDispatcher:
start = now.replace(hour=0, minute=0, second=0, microsecond=0)
range_label = "今日"
# 告警类型:中文/英文都兼容
alarm_type_filter = params.get("alarm_type")
if alarm_type_filter == "all":
alarm_type_filter = None
type_cn_to_code = {
"人员离岗": "leave_post", "离岗": "leave_post",
"周界入侵": "intrusion", "入侵": "intrusion",
"车辆违停": "illegal_parking", "违停": "illegal_parking",
"车辆拥堵": "vehicle_congestion", "拥堵": "vehicle_congestion",
}
if alarm_type_filter and alarm_type_filter in type_cn_to_code:
alarm_type_filter = type_cn_to_code[alarm_type_filter]
# 告警状态:中文/英文都兼容
alarm_status_filter = params.get("alarm_status")
status_cn_to_code = {
"待处理": "NEW", "未处理": "NEW", "": "NEW",
"处理中": "CONFIRMED", "已确认": "CONFIRMED",
"误报": "FALSE", "已忽略": "FALSE",
"已关闭": "CLOSED", "已处理": "CLOSED",
}
if alarm_status_filter and alarm_status_filter in status_cn_to_code:
alarm_status_filter = status_cn_to_code[alarm_status_filter]
alarms, total = svc.get_alarms(
alarm_type=alarm_type_filter,