fix: 简化待付款订单核单条件 (#126)

This commit is contained in:
chengma
2026-08-10 20:13:55 +08:00
parent 3600d0cd37
commit 399aa0ebc6
9 changed files with 141 additions and 52 deletions
+8 -6
View File
@@ -382,9 +382,10 @@ Admin 侧必须无条件接受,见 [04](04-admin-api-contract.md) §6.1。
`claimed`;恢复执行必须创建新的 `attempt_id`,不会存在两条并发运行。
- `irreversible_action_at` 有值时,启动恢复立即转为 `manual_review / reconcile_purchase`。
`PurchaseReconcileService` 只能调用独立的只读 Adapter,不会调用采购 Adapter。
- 核单按商品编号、完整规格、数量、确认总价、提交时间范围和未付款状态严格匹配。
只有唯一候选会原子写入采购结果与 Outbox;未找到、多候选、字段不符、非未付款
或结果不确定均保持人工处理。
- 核单要求订单页提供非空订单编号、有效下单时间和未付款状态;下单时间必须位于
本地 `order_submitted_at` 前后 5 分钟,且窗口内只有一个候选。商品编号来自任务,
规格、数量和确认总价来自不可逆动作前持久化的 `final_confirmation`,不要求订单页
重复提供。未找到、多候选、订单号或时间缺失、非未付款或结果不确定均保持人工处理。
- Admin 提交失败只重试 Outbox,不再次操作拼多多。
## 9. PDD 适配边界
@@ -409,9 +410,10 @@ reconcile_purchase(task, run) -> PurchaseResult | ManualReview
和 `close`,不暴露选规格、设数量、下单或付款方法。
正式只读核单由 `pdd_u2_purchase_reconcile_adapter.py` 实现,只允许使用白名单
导航进入个人中心、我的订单和待付款列表,以及返回和滚动。它只提取核单所需的
订单编号、商品编号、规格、数量、总价、下单时间和付款状态,不保存收货人、地址
或电话。最终匹配由领域服务完成,不能让页面解析层单独决定采购成功。
导航进入个人中心、我的订单和待付款列表,以及返回和滚动。订单匹配只使用页面中的
订单编号、下单时间和付款状态;页面上出现的商品或金额文字可以解析诊断,但不能覆盖
下单前确认快照。Client 不保存收货人、地址或电话。最终匹配由领域服务完成,不能让
页面解析层单独决定采购成功。
正式 Client 由 `pdd_u2_purchase_adapter.py` 分别实现演练和 live 接口,并在
`ui_main.py` 注入工厂。Adapter 通过设备工作线程绑定的