实现独立“重新采购”按钮,对勾选任务按类型和采购安全状态过滤,串行执行仍可安全重新开始的采购任务,同时严格防止重复下单。
irreversible_action_at
client/src/task_repository.py
client/src/pdd_ui_event.py
execution_mode
client/src/purchase_task_service.py
# client 目录 C:/Python310/python.exe -m unittest discover -s test -p 'test_task_repository.py' -v C:/Python310/python.exe -m unittest discover -s test -p 'test_purchase_task_service.py' -v C:/Python310/python.exe -m unittest discover -s test -p 'test_purchase_recovery.py' -v C:/Python310/python.exe -m unittest discover -s test -p 'test_pdd_ui_event.py' -v C:/Python310/python.exe -m unittest discover -s test -p 'test_*.py' -q
真实设备验收只创建未付款订单并读取订单编号和下单时间,不进入付款。
598c808
9181329
docs/task/139-增加不可逆门禁保护的批量重新采购.md
已完成:
验证:
SMOKE_OK
用户已于 2026-08-11 明确验收通过。
eca9289
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
实现独立“重新采购”按钮,对勾选任务按类型和采购安全状态过滤,串行执行仍可安全重新开始的采购任务,同时严格防止重复下单。
做什么 / 不做什么
irreversible_action_at的采购任务才可能重新采购。怎么做
client/src/task_repository.py增加采购重新执行预检及事务准备方法,检查任务类型、状态、Outbox、运行记录和永久不可逆标记。client/src/pdd_ui_event.py复用 #138 的串行内存队列,根据任务原有execution_mode选择 Adapter,不允许降级或升级。client/src/purchase_task_service.py提供复用已保存 Outbox 的公开提交边界,支持“下单 → 等待 → 只读核单 → 结果入库 → 上报”闭环。验收标准
怎么验证
真实设备验收只创建未付款订单并读取订单编号和下单时间,不进入付款。
风险和回退
实施完成,等待验收
598c8089181329docs/task/139-增加不可逆门禁保护的批量重新采购.md已完成:
irreversible_action_at有值就永久拒绝重新采购。验证:
SMOKE_OK。用户已于 2026-08-11 明确验收通过。
eca9289