该技能用于调试 ledger-sync 中财务相关的错误数字、缺数据或意外分析结果,核心是把大多数“数字不对”的问题归入七种故障模式并依次排查:1)V2 分析过期:仪表盘读取上传时重建的预聚合表,若交易在上传路径外被修改就不会自动刷新,可用更新时间查询判断,并通过 POST /api/analytics/v2/refresh 刷新;2)user_id 作用域遗漏:多租户靠逐查询过滤,缺 Model.user_id == current_user.id 会看到跨用户数据;3)SQLite 专用日期函数:func.strftime 等在 Postgres 生产环境会失效,应改用 query_helpers 中的 fmt_year_month、fmt_year、fmt_month、fmt_date;4)印度财年(4月至3月)偏移:应使用 core/analytics/base.py 的辅助函数,前端对应 taxCalculator.ts;5)Decimal 与 float/string:Pydantic v2 默认把 Decimal 序列化为字符串,前端需解析,接口层多用 _decimal() 返回 float;6)Pydantic 与 TypeScript 漂移:字段改名后前端读到 undefined;7)投资账户分类:2.10.0 起默认映射为空,需用户在设置中自行配置。调试流程为先复现,再定位数据库、API 或 UI 层,依次排查七种模式,必要时查看 git log。限制:不要用 WHERE 1=1 之类补丁、不要降低断言、不要隐藏分析错误、不要因数据错误禁用图表;修复应在出错层完成并补充测试。
debug-finance
测试与质量
更新于 10-16 08:41