4.1 KiB
4.1 KiB
id, title, phase, deps, status, created, vikunja_task_id, context_ref, work_branch, needs_device, needs_human_review, write_paths
| id | title | phase | deps | status | created | vikunja_task_id | context_ref | work_branch | needs_device | needs_human_review | write_paths | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| T-111 | 调整为开始采购授权的单趟流程 | 1 |
|
DOING | 2026-08-04 | 28 | efeb2d9 |
task/t-111-single-pass | false | false |
|
问题 / 背景
项目原设计为两趟:先试选并等待管理员确认,再重新进入商品创建待付款订单。项目所有者为加快内部采购,决定取消试选后的人工确认;管理员在任务列表勾选并点击“开始采购”即明确授权采购工具创建一笔待付款订单。系统仍绝不自动付款。
关联需求与交互
- 重写 MVP 主流程、状态机、价格闸门、授权与提交围栏。
- 同步需求、用户故事、交互、路由、API、任务路线图与当前状态。
- T-103 暂停并改为单趟流程的规格选择/读价前置;T-202 只建 DRAFT,不受影响;T-203 起按新流程重排。
方案
- DRAFT 任务只有管理员勾选并点击“开始采购(只创建待付款订单)”后才能进入设备队列;该动作在服务端事务中创建一次性授权,锁定任务版本、goods_id、颜色、尺码、数量和最高总价。
- 采购工具领取后同一趟完成:打开商品、受控打开规格面板、精确选规格、闸门一读价并校验上限、设置及复核数量、闸门二重读同价与选中态、进入确认页、闸门三核对实付款、服务端原子提交围栏、只点击一次“提交订单”。
- 删除 WAITING_CONFIRMATION、人工“机器选对了吗”、授权锁定试选价和第二次重新打开商品;截图改为内部审计证据,不作为下单前人工审批。
- 授权在围栏前失败/过期可回到 DRAFT 等管理员重新开始;围栏建立后只能调和同一提交,禁止重试、释放或签发第二笔。
- 不付款、提交四条件、精确规格、数量复核、价格只读规格面板/订单确认页、外部支付/安全校验停止等红线不放宽。
- 先提交文档契约,再恢复客户端或新增生产代码。
验收要点
- 所有活跃文档只描述单趟采购,不再把两趟或 WAITING_CONFIRMATION 当作 MVP 现实。
- “开始采购”与一次性授权、批量原子性、价格闸门、提交围栏和一次点击的关系明确。
- API/状态机/数据模型/任务路线图一致,截图为内部证据而非审批前置。
- T-103 新边界继续禁止数量、确认页和提交代码,直到后续任务按新依赖实现;不得借架构调整提前触碰真机不可逆动作。
- Vikunja 导出、agent-context、diff-check 与完整双端门禁通过。
执行记录
(暂无)
边界
- 管理员点击“开始采购(只创建待付款订单)”是进入设备队列前唯一的人类授权动作;创建
DRAFT本身不得触发设备领取、创建授权、提交订单或付款。 - 单趟流程仍必须保留规格精确匹配、数量读回复核、规格面板两次同价校验、订单确认页金额上限、 服务端提交围栏、提交控件唯一和点击一次;不得以“提速”为由删除或弱化任一项。
- 系统只创建待付款订单,任何路径都不自动付款,不点击支付、免密支付、先用后付或扣款控件。
- 围栏前失败或授权过期可以回到
DRAFT等管理员重新授权;围栏建立后只能调和同一提交记录, 不得释放、重领、重试点击或签发第二笔。 - 本任务只修改文档契约和任务依赖,不修改
admin/、client/、数据库 migration 或生产代码。