
QiuSWandClaude Opus 5
60c75261d3
fix: 采购管理批量重试改为原地重试选中任务,不再新建 (#303)
采购员勾选失败任务点重试,要的是这条任务本身再跑一次。原先 BatchRetry 一律
调用 Create 新建(CG-224 → CG-234),任务号变化,同一 SYB 明细的多次尝试分散在
多个任务上。
- BatchRetry 改为逐条调用既有 Reset:任务号不变,状态回到 pending,本次执行记入
purchase_task_attempt。Reset 的全部保护原样沿用——碰过下单边界、同一明细已有
更新任务、规格快照不完整均拒绝并返回原因,拒绝后不退回新建。
- 先识别重放再做资格预检:首次重试后任务已是 pending,先预检会把同一 requestId
的重复提交判为「只有失败任务可以重试」,破坏幂等。测试抓到后修正。
- 资格预检关闭设备占用检查,同一设备上勾选的多条可排队;真正的占用判断在 Reset
事务内,ensureDeviceFree 不把租约为空的 pending 计为占用。
- AgentRetry(替代商品已匹配、继续采购)改走 batchRetryCreate,保持新建:商品已
替换,原任务的商品与规格快照不能复用。
- 前端文案改为「已重试 / 第 N 次执行」。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NTDbDcwbDw1TSAcE6wfh2F
2026-09-17 14:50:05 +08:00
..
2026-09-11 16:20:26 +08:00
2026-09-17 14:50:05 +08:00
2026-09-02 23:12:48 +08:00
2026-08-15 14:24:45 +08:00