song.jun
3 天以前 1eafb5411551e7a976e1f4ef6573897ec91362f0
refs
用户 song.jun <lion0756@qq.com>
星期一, 四月 13, 2026 13:15 +0800
提交者 song.jun <lion0756@qq.com>
星期一, 四月 13, 2026 13:15 +0800
提交1eafb5411551e7a976e1f4ef6573897ec91362f0
目录 ce2747edcb7c0ca14276860b49a9c6b4082fdced 目录 | zip | gz
parent ed655574fc9dc7c6c67dceddcdebb7a25c16d244 查看 | 对比
处理 P2.5 评审遗留的 P1 项

P1.1: CLAUDE.md 补充 SaveLabList 的 byId/byLabProject 字典快照行为
- 明确说明字典是循环前的一次性快照,同批重复提交时第一道防线看不到
循环内刚插入的行,会降级到 SaveQcDistributionRegister 的第二道防线
兜底(触发 LogHelper.Error 告警)。
- 明确告诫后续开发者不要"为了一致性"把第一道防线改成循环内动态刷新
字典——那反而会放大并发窗口。
- 也说明了 byLabProject.OrderByDescending(p.Id).First() 的确定性意图,
避免未来被"没意义的简化"改回 First()。

P1.2: QCDistributionInfoViewModel.ToEntity 的 byLabProject 查重改为
OrderByDescending(p.Id).First()
- 如果数据库里历史上出现未清理的重复(防御性假设),这个顺序保证永远
命中 Id 最大(最新插入)的那一条,消除命中顺序不确定的理论风险。
- 实际上清理后全库已无重复,但代码层面不再依赖"没有重复"这个假设。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2个文件已修改
4 ■■■ 已修改文件
CLAUDE.md 2 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
sbcLabSystem/Models/Backstage/QCDistributionInfoViewModel.cs 2 ●●● 对比 | 查看 | 原始文档 | blame | 历史