feat(operations): add automated reconciliation center

This commit is contained in:
lingniu
2026-07-16 19:14:53 +08:00
parent bbab018d55
commit d67f42b4f4
25 changed files with 1697 additions and 39 deletions

View File

@@ -435,7 +435,19 @@
### P1-05 数据差异自动自查与对账
状态:`进行中`
状态:`已完成`
已上线结果release `reconciliation-summary-fix-20260716191153`
- 新增独立的数据差异中心,自动检测重复车牌/终端、来源未绑定、主车辆无来源、多来源位置漂移、里程跳变/倒退、日里程来源差异、车队总数差异、OneOS 业务车辆未绑定及人工授权与业务范围不一致。OneOS 投影尚未启用时,业务范围规则不伪造结果,待正式快照发布后自动参与每日检测。
- 每条差异保存稳定指纹、规则、等级、车辆、来源、首次/最近发现时间、命中次数和结构化证据;原始 `source_key`、终端手机号、来源 IP 不进入接口响应。
- 支持待处理、确认来源 A、确认来源 B、无需处理、已修复和已恢复状态非待处理结论必须填写说明使用乐观版本避免并发覆盖全部处理动作保留账号和时间履历。
- 相同指纹重复检测只增加命中次数,不产生重复工单;已修复/已恢复问题再次出现会重新打开,活跃问题不再命中时自动转为已恢复。
- 独立 `reconciliation-evaluator` 每日定时执行,不加入 API 高频轮询。生产定时器已启用,下一次运行时间为 `2026-07-17 02:19:54 +08:00`,单次全量检测约 0.881.43 秒。
- 首轮生产检测发现 1,622 条活跃差异:车队总数差异 1、里程跳变 112、里程倒退 6、多来源日里程差异 1,197、主车辆无来源 295、来源未绑定 11第二轮同数据运行 `new=0`,证明指纹去重生效。
- 运维页面以 50 行差异队列为主体提供关键词、状态、等级和规则筛选、30 天新增/存量/恢复趋势及按需证据抽屉。摘要缓存 60 秒、列表缓存 20 秒、详情按需读取,不加入 15 秒健康轮询。
- 管理员和运维员可读取、复核;只读查看者返回 403。生产验证中错误版本处置返回 409防止覆盖其他人的结论。
- Go 全量测试、前端 49 个文件/259 项测试、TypeScript/Vite 构建和发布脚本测试通过。生产桌面首屏显示 1,622 条、50 行队列390×844 移动端详情宽度不超过视窗,表格受控横向滚动;两种视图均无页面级横向溢出、运行时异常或控制台错误。
目标: