✍️作者:王文峰(外号:神秘小峯 / 山峯)|中国国学、传统文化与代码爱好者的程序人生,期待你的关注和支持!
采购系统缺陷复盘(三):全链路排障与 AI 根因分析
- 一、业务全景:采购主链路与事件分布
- 1. 主链路一张图
- 2. 事件归类表(本次复盘的全部输入)
- 二、根因一:状态机失控——"无法保存/取消/提交"的共同元凶
- 1. 业务讲解
- 2. 核心代码:统一状态机(消灭 if 散落)
- 三、根因二:事务边界错位——"提交/审批/生效报错"的真相
- 1. 业务讲解
- 2. 核心代码:事务编排"内外分离"
- 四、根因三:数据一致性——寻源与中标明细问题
- 1. 业务讲解
- 2. 核心代码:导入的"三段式"(校验 → 幂等 → 分批)
- 五、根因四:外部集成无补偿——"推送 ERP 失败"的系统病
- 1. 业务讲解
- 2. 核心代码:可靠推送三件套(本地消息表 + 重试退避 + 对账)
- 六、AI 赋能:大模型根因分析实战(核心代码)
- 1. 整体流程
- 2. 核心代码:错误采集切面 + AI 归因服务
- 3. 归因 Prompt 的三条调优心得
- 4. AI 额外用法(可选扩展)
- 七、防复发体系:从"修 bug"到"免疫 bug"
- 八、速查表:事件 → 根因 → 修复
- 九、总结与自测清单
- 🎯 学习教程(传送门)
- 🔥 往期文章
📚 缺陷复盘系列前两篇处理的是单点问题,这篇升级为全链路复盘:测试同学汇总的一批事件集中在采购包 → 短名单/寻源 → 中标 → 合同 → 订单 → 推送 ERP这条主链路上——“采购包无法保存”“合同无法生效”“订单推送 ERP 失败”,单看是十几个 bug,串起来其实是三个共性根因:状态机失控、事务边界错位、外部集成无补偿。这篇按链路逐段讲解业务 + 修复代码,最后给AI 根因分析的完整落地(大模型归因 + 修复建议 + 回流闭环)。
一、业务全景:采购主链路与事件分布
1. 主链路一张图
采购包(打包明细/匹配标段) ↓ 提报/审批 短名单采购方案 → 创建询价单 → 寻源/开标(线下:中标明细导入) ↓ 中标 合同(保存→提交→审批→生效→生成订单→变更/简化