fix: 使用领取令牌隔离日计划进度

This commit is contained in:
zhouz
2026-08-14 14:59:47 +08:00
parent 646bba8893
commit c57023facb
11 changed files with 129 additions and 80 deletions

View File

@@ -221,11 +221,14 @@ ERP 推送不允许直接修改顺序、权重、当前完成数量或作业状
## 并发与事务
- 页面操作和定时器数量更新使用版本号进行乐观锁校验
- 页面状态及资料操作使用日计划版本号进行乐观锁校验;调度数量确认不绑定整张日计划版本
- 状态变更、数量变更和对应操作记录在同一事务中提交。
- 批量调整顺序在一个事务内完成;任一计划版本冲突时整体回滚。
- 策略切换和轮转游标更新使用版本号,避免两个调度线程重复选择同一轮计划。
- 并发失败统一提示“日计划已发生变化,请刷新后重试”
- 每次调度先持久化排他 ClaimClaim 令牌、作业类型、预占数量、领取时作业进度和 Claim 自身版本共同构成确认并发边界。备货与套管 Claim 相互独立
- 进度确认先原子消费 Claim再以领取时对应作业进度为条件累计数量重复确认同一已完成 Claim 幂等成功,不重复计数。
- 排序、权重、ERP 追加和另一作业进度不会阻断有效 Claim 确认。取消、结束后不再产生新 Claim但已下发的有效 Claim 仍可确认;确认只累计数量,保留用户选择的取消或结束状态。
- Claim 支持续租、主动释放和过期回收;过期或已释放 Claim 不得确认。
## 错误处理