8ac0b794ff62c0fe9b0ca597ee7b36b58ffb503a
接 b3da1b6。上一条只改了凌晨规则与日报日界,剩下几处一并收掉: 1. risk_query_service.py:77-78:REST 的 start_time/end_time 是**裸 datetime**, 原先原样透传去比库内 UTC 列,而 Agent 路径本来就带时区 (risk_natural_language.py:117)——同一条筛选条件在界面与对话里会查出不同结果。 timeutil 新增 from_local:裸值按**北京时间**解释(面向中国客户的业务系统, 填表人的预期就是本地时间),带时区的按其自身时区处理。它与 to_utc_naive 的区别 正在裸值上:取库里的值用后者,接客户端输入用这个。 2. risk_scan_service.py 与 risk_judgement_service.py 的 _age:一处用 UTC 日期、 一处用服务器 date.today(),生日边界上同一客户会差一岁、65 岁阈值可能翻面。 统一走 local_date(北京时间)。 3. risk_daily_report_service.py:122 的 report_date 与 :244 的 created_today: 原先取 UTC 日期,北京 08:00 之前会把"今天新增的预警"算成昨天。 ruff / mypy(135 文件) / 603 unit+contract 全绿。
Description
番茄炒蛋组
18 MiB
Languages
Python
99.9%