feat(t218): reconcile single order submissions
This commit is contained in:
+22
-10
@@ -4,7 +4,7 @@ title: 单次订单提交与订单回读
|
||||
phase: 2
|
||||
deps:
|
||||
- T-217
|
||||
status: DOING
|
||||
status: DONE
|
||||
created: 2026-07-28
|
||||
context_ref: 1e87b62
|
||||
work_branch: null
|
||||
@@ -119,15 +119,15 @@ dry-run 身份及 `Idempotency-Key`。start 只接受 READY;reconcile/manual-r
|
||||
|
||||
## 验收要点
|
||||
|
||||
- [ ] start 只有 READY、有效租约、未取消和完全一致的命令/金额可成功。
|
||||
- [ ] 同一授权最多一个 submission;响应丢失、重启和重复请求不能产生第二次点击。
|
||||
- [ ] 缺少地址、自动扣款语义、非精确“提交订单”或页面不确定时 fail closed。
|
||||
- [ ] 点击前持久化 `CLICK_ASSUMED`;恢复路径只有订单回读,没有重新提交。
|
||||
- [ ] 订单列表只读回读必须唯一匹配订单号、下单时间、SKU、数量、金额和待付款状态。
|
||||
- [ ] 零个/多个匹配转人工且仍禁止重新提交;证据和事件可审计。
|
||||
- [ ] 代码路径不包含支付点击,订单号不进日志/VLM。
|
||||
- [ ] v11 migration、Go test/race/vet、Android test/Debug/Release 和根验证通过。
|
||||
- [ ] 真机至少证明缺地址/危险付款语义会阻塞;只有具备受控地址和明确待付款语义时
|
||||
- [x] start 只有 READY、有效租约、未取消和完全一致的命令/金额可成功。
|
||||
- [x] 同一授权最多一个 submission;响应丢失、重启和重复请求不能产生第二次点击。
|
||||
- [x] 缺少地址、自动扣款语义、非精确“提交订单”或页面不确定时 fail closed。
|
||||
- [x] 点击前持久化 `CLICK_ASSUMED`;恢复路径只有订单回读,没有重新提交。
|
||||
- [x] 订单列表只读回读必须唯一匹配订单号、下单时间、SKU、数量、金额和待付款状态。
|
||||
- [x] 零个/多个匹配转人工且仍禁止重新提交;证据和事件可审计。
|
||||
- [x] 代码路径不包含支付点击,订单号不进日志/VLM。
|
||||
- [x] v11 migration、Go test/race/vet、Android test/Debug/Release 和根验证通过。
|
||||
- [x] 真机至少证明缺地址/危险付款语义会阻塞;只有具备受控地址和明确待付款语义时
|
||||
才允许执行真实单次提交 smoke。
|
||||
|
||||
## 边界
|
||||
@@ -141,3 +141,15 @@ dry-run 身份及 `Idempotency-Key`。start 只接受 READY;reconcile/manual-r
|
||||
|
||||
- 2026-07-28:在 T-217 实现提交 `1e87b62` 后领取。冻结服务端一次性提交围栏、
|
||||
点击前 `CLICK_ASSUMED` 持久化、恢复只对账、订单列表唯一匹配和自动付款禁区。
|
||||
- 2026-07-28:合约提交 `682cc73`。实现 v11 submission/request 表、三条设备接口、
|
||||
服务端唯一围栏和幂等对账;Android 加入确认页安全检查、加密恢复状态、单次点击
|
||||
资格、待付款订单解析和有限唯一匹配。
|
||||
- 2026-07-28:补强崩溃窗口:只有本次调用新建的 intent 可在收到围栏后获得点击
|
||||
资格;恢复出的旧 intent、`CLICK_ASSUMED` 及其后状态永远不能重新点击。围栏已在
|
||||
后端建立时,租约到期只允许继续订单列表对账。
|
||||
- 2026-07-28:`go test ./...`、`go test -race ./...`、`go vet ./...`,
|
||||
Android Debug/Release 单元测试和 APK 构建、根 `.\init.ps1` 全部通过。
|
||||
- 2026-07-28:Debug `1.4.15 (20)` 真机阻断 smoke 通过。拼多多 8.17 确认页显示
|
||||
“手动添加收货地址”“立即支付”和“先用后付”,肉包明确报告未创建提交围栏;
|
||||
触发前后生产库 `order_submissions=0`,未点击下单或付款。因没有受控收货地址,
|
||||
未执行真实订单提交。
|
||||
|
||||
Reference in New Issue
Block a user