feat: 移除 Client 真实采购手工授权 (#114)
This commit is contained in:
@@ -211,8 +211,8 @@ POST /api/v1/client/tasks/claim
|
||||
|
||||
Client 的 `HttpAdminGateway.claim_next` 已实现本接口,并原样序列化应用层已经
|
||||
安全确认的 `ClaimCapabilities`。没有采购 Adapter 或设备未准备好时只声明
|
||||
`supported_types: ["collect"]`;条件满足时声明 `collect,purchase`。只有设置页
|
||||
授权同时匹配当前 Client ID、已保存 Android 设备且 live Adapter 就绪时才声明
|
||||
`supported_types: ["collect"]`;条件满足时声明 `collect,purchase`。Client 不发送手工
|
||||
真实采购启用请求;当前 Client 身份有效、已保存 Android 设备且 live Adapter 就绪时自动声明
|
||||
`purchase_mode: "live"`,其他情况均为 `dry_run`。一次调用最多领取一个任务,结果或失败通过
|
||||
本页 §6 或 §7 提交,完整请求会先进入本地 Outbox。
|
||||
|
||||
@@ -232,7 +232,7 @@ Client 的 `HttpAdminGateway.claim_next` 已实现本接口,并原样序列化
|
||||
规则:
|
||||
|
||||
- `[必须]` 领取必须在 Admin 内部原子完成,一次调用最多返回一个任务。
|
||||
- `[必须]` Admin 不得向只声明 `dry_run` 的 Client 分配要求真实下单的任务。
|
||||
- `[必须]` Admin 可以把真实采购任务预先指派给当前账号可见的任意 Client;领取时仍不得把 live 任务返回给只声明 `dry_run` 的 Client。
|
||||
- `[必须]` `execution_mode` 只允许 `dry_run`、`live`。Admin Web 新建采购任务固定为 `live`;历史任务和接口缺省兼容值仍是 `dry_run`,Client 不得自行把模式从演练提升为真实。
|
||||
- `[必须]` 声明 `dry_run` 的 Client 只能领取 `dry_run`;声明 `live` 的 Client 可以领取两种模式。能力只缩小可领取范围,不修改任务模式。
|
||||
- `[必须]` 响应**不包含**租约。Client 拿到任务就开始做,做完再来领下一个。
|
||||
@@ -247,8 +247,9 @@ Client 的 `HttpAdminGateway.claim_next` 已实现本接口,并原样序列化
|
||||
| **无主** | 空 | `pending` | **谁先抢到算谁的**,领取时才记下领取者 |
|
||||
|
||||
领取还必须同时满足执行能力:`dry_run` Client 永远看不到 `live` 任务;
|
||||
`live` Client 可以领取 `dry_run` 和 `live`。Admin 当前只允许真实采购任务显式指定
|
||||
一个已经登记并声明 `purchase_mode: "live"` 的 Client,因此真实任务不会进入无主任务池。
|
||||
`live` Client 可以领取 `dry_run` 和 `live`。Admin Web 创建真实采购任务时显式指定
|
||||
当前账号可见的 Client,不要求创建时已经声明 live;未就绪或离线 Client 的任务保持
|
||||
`assigned`,直到该 Client 自动声明 live 后领取,因此真实任务不会进入无主任务池。
|
||||
|
||||
`[必须]` **指定给本机的优先于无主的。** 显式分配是人为决定,应当先兑现;
|
||||
无主任务谁抢都一样,可以等。
|
||||
|
||||
Reference in New Issue
Block a user