feat: 完善采购任务安全恢复 (#73)
This commit is contained in:
@@ -340,9 +340,12 @@ Admin 侧必须无条件接受,见 [04](04-admin-api-contract.md) §6.1。
|
||||
|
||||
### 采购崩溃恢复
|
||||
|
||||
- 在最终提交订单前写入不可逆阶段标记。
|
||||
- 如果进程在该阶段退出,重启后进入订单核对流程。
|
||||
- 核对不到订单时进入人工处理,禁止自动重新下单。
|
||||
- 每个采购关键动作前,先在同一 SQLite 事务中更新任务和执行记录的步骤。
|
||||
- 演练运行中断且没有不可逆标记时,原执行记录先结束为失败,任务再回到
|
||||
`claimed`;恢复执行必须创建新的 `attempt_id`,不会存在两条并发运行。
|
||||
- `irreversible_action_at` 有值时,启动恢复立即转为 `manual_review / reconcile_purchase`。
|
||||
`PurchaseReconcileService` 只能调用独立的只读 Adapter,不会调用采购 Adapter。
|
||||
- 核对到唯一候选也仍需人工最终确认;未找到、多候选或结果不确定均保持人工处理。
|
||||
- Admin 提交失败只重试 Outbox,不再次操作拼多多。
|
||||
|
||||
## 9. PDD 适配边界
|
||||
@@ -359,6 +362,8 @@ reconcile_purchase(task, run) -> PurchaseResult | ManualReview
|
||||
打开商品、读取状态、精确选择动态规格、设置数量、进入提交前确认页和停止,
|
||||
**不提供提交订单或付款方法**。这样即使应用层调用错误,也没有可误触的真实下单入口。
|
||||
采购规格使用完整 `options` 对象精确比较,不假定只有颜色和尺码两个维度。
|
||||
只读核对另用 `PddPurchaseReconcileAdapter`,只暴露 `read_order_match`
|
||||
和 `close`,不暴露选规格、设数量、下单或付款方法。
|
||||
|
||||
现有 `wait_goods_page`、规格面板坐标、颜色尺码选择和下单按钮定位函数可以迁移到该适配层。实验脚本中的硬编码商品、设备、文件路径和 `print` 不得进入正式服务。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user