feat: 实现受控真实下单安全边界 (#99)
This commit is contained in:
@@ -125,6 +125,8 @@ CREATE TABLE pdd_tasks (
|
||||
remote_task_id TEXT NOT NULL UNIQUE,
|
||||
task_type TEXT NOT NULL
|
||||
CHECK (task_type IN ('collect', 'purchase')),
|
||||
execution_mode TEXT NOT NULL DEFAULT 'dry_run'
|
||||
CHECK (execution_mode IN ('dry_run', 'live')),
|
||||
goods_id TEXT,
|
||||
goods_url TEXT NOT NULL,
|
||||
title TEXT,
|
||||
@@ -167,6 +169,7 @@ CREATE INDEX idx_pdd_tasks_goods_id
|
||||
### 字段语义
|
||||
|
||||
- `remote_task_id`:跨 Admin、Client、日志、提交和归档使用的稳定任务编号。Mock 任务也必须分配稳定编号。
|
||||
- `execution_mode`:Admin 领取时确定的不可变执行模式;历史记录默认为 `dry_run`,Client 不得把任务自行提升为 `live`。
|
||||
- `price_cent`:列表摘要价格;采集任务通常为最低可用 SKU 价格,详细价格以 `pdd_data.skus` 为准。
|
||||
- `status`:**本机执行状态**,只由本机的执行流程和 Outbox 提交响应驱动。Admin 那边把任务标成什么,本地不知道也不需要知道(见 §3.1)。
|
||||
- `current_step`:当前安全步骤,例如 `open_goods`、`collect_skus`、`select_options`、`placing_order`、`reconcile_order`。
|
||||
@@ -407,12 +410,17 @@ CREATE TABLE app_settings (
|
||||
- `automation.poll_interval_seconds`
|
||||
- `automation.max_retries`
|
||||
- `automation.dry_run`
|
||||
- `purchase.live_enabled`
|
||||
- `purchase.live_client_id`
|
||||
- `purchase.live_device_serial`
|
||||
- `purchase.live_confirmed_at`
|
||||
- `safety.max_quantity`
|
||||
- `safety.price_tolerance_cent`
|
||||
- `diagnostics.artifact_directory`
|
||||
- `diagnostics.retention_days`
|
||||
|
||||
访问令牌、密码和 Cookie 不得存入本表。
|
||||
`purchase.live_*` 只保存非敏感的本地安全门禁状态;缺失、损坏或绑定不一致时一律按关闭处理。
|
||||
|
||||
## 7. 任务状态转换
|
||||
|
||||
|
||||
Reference in New Issue
Block a user