Files
cmbuyer/docs/07-user-stories.md
T

8.1 KiB

用户故事清单

本文从用户目标描述 MVP。功能编号以需求为准,具体界面行为以 交互清单为准。

一、职责边界

  • 采购管理员决定买什么、最高允许多少钱,并通过“开始采购”明确授权创建待付款订单。
  • 采购工具只执行已授权任务,不修改规格、数量或金额上限。
  • 系统不付款;待付款订单由人核对、付款并手工收口。
  • 截图是内部审计证据,不是提交前审批环节。

二、用户故事总表

ID 故事 优先级 角色 用户价值 功能 交互 状态
US-001 把“要买什么”变成待开始任务 P0 采购管理员 一次填写链接、规格、数量和最高总价 F-001 IX-002 已定
US-002 知道任务当前卡在哪里 P0 采购管理员 快速找到待授权、执行中、待付款或待人工任务 F-004、F-007、F-011 IX-003、IX-004 已定
US-003 让手机逐条执行已授权任务 P0 采购执行员 开启轮询后无需盯每一步,异常时再介入 F-005、F-006 IX-007、IX-008 已定
US-004 查看机器实际执行证据 P0 采购管理员 追溯规格、价格、数量、围栏和截图 F-007 IX-004 已定
US-005 明确授权且不会重复下单 P0 采购管理员 点击开始采购后,只创建一笔待付款订单且绝不自动付款 F-008、F-010、F-017 IX-005、IX-010、IX-011 已定
US-006 付款前核对订单 P0 采购管理员 对照系统证据后由人决定是否付款 F-006 收口 IX-006 已定
US-007 管理身份与设备身份不越权 P0 采购管理员 设备凭据泄露也不能建单或授权 F-013 IX-001 已定
US-008 出问题时知道下一步 P0 采购执行员 看到具体阶段、原因和安全恢复方式 F-011、F-017 IX-008、IX-011 已定
US-010 批量授权待开始任务 P0 采购管理员 一次把选中任务交给采购工具逐条创建待付款订单 F-008、F-018 IX-012 已定

三、故事详情

US-001 把“要买什么”变成待开始任务

作为采购管理员,我希望在任务列表点击创建,填写标题、拼多多链接、颜色、尺码、数量和最高总价, 保存后立即在首行看到 DRAFT,以便稍后统一授权。

验收场景:

  • 合法输入保存成功并规范化商品链接;创建动作不触发设备和授权。
  • 链接、规格、数量或金额不合法时,在字段附近说明原因并保留其他输入。
  • 重复提交同一 create_key 只返回原任务,不创建重复记录。

US-002 知道任务当前卡在哪里

作为采购管理员,我希望在传统表格中按标题和状态筛选,看到标题链接、颜色、尺码、价格、数量、 采购结果、状态和创建时间,并双击行查看详情。

验收场景:

  • 默认按创建时间倒序;标题是指向拼多多商品页的链接。
  • 没有操作列;详情通过双击行打开路由化抽屉,完整 URL 可复制,浏览器返回恢复列表现场。
  • 状态明确区分待开始、已授权待领取、执行中、待人工、围栏后待调和、待付款和终态。
  • 空筛选结果提供“清除筛选”,错误页保留安全重试;不把已围栏提交显示为可重试。

US-003 让手机逐条执行已授权任务

作为采购执行员,我希望配置服务、设备 serial 和轮询间隔后,点击一次开始轮询,让采购工具逐条领取 已授权任务并在同一趟中完成选规格、价格校验、数量、确认页和提交围栏。

验收场景:

  • 启动前同时校验采购服务、ADB 设备和已取证拼多多版本;任一不满足则不启动。
  • 顶部始终显示会话状态;当前任务、图片、滚动日志和倒序采购记录实时更新。
  • 精确规格、闸门一单价、数量读回、闸门二面板总额、确认页同额校验或提交控件任一不合格时停止该任务。
  • 围栏明确成功后只点一次“提交订单”;系统绝不点击付款。
  • 连续轮询失败达到阈值自动停止;停止轮询不取消正在执行或已围栏的任务。

US-004 查看机器实际执行证据

作为采购管理员,我希望打开任务详情后看到本次授权、设备领取、实际规格、三道价格闸门、截图、 提交围栏与结果,以便审计发生了什么,而不是在中途批准机器选择。

验收场景:

  • 证据按 attempt 和时间排序,区分规格面板、确认页、提交结果。
  • 原始截图仅登录管理员可看,响应不缓存;完整 XML 不出现在页面或接口中。
  • 地址/手机号不提取为字段或日志,外部支付页和支付凭据不存储。
  • 执行中没有“确认机器选对了吗”或“确认后继续第二趟”按钮。

US-005 明确授权且不会重复下单

作为采购管理员,我希望点击“开始采购(只创建待付款订单)”时明确知道影响范围,并确信系统不会 超出金额上限、不会付款,也不会因为断网重复提交。

验收场景:

  • 只有 DRAFT 可选;操作条显示选中数量和最高总额。
  • 点击即创建一次性授权并整批转 PENDING;不再要求试选后确认。
  • 任一任务版本冲突时整批不变;同一开始键重放同一结果。
  • 设备在同一趟通过三道闸门;服务端围栏明确建立后才准许点击一次。
  • 围栏前失败可由人重置并重新授权;围栏后只能调和同一提交,永不出现“再次下单”。

US-006 付款前核对订单

作为采购管理员,我希望任务转为待付款后看到商品、规格、数量、授权上限、确认页金额与订单截图, 在拼多多核对后由人决定是否付款。

验收场景:

  • WAITING_PAYMENT 明确写“订单已创建,系统尚未付款”。
  • 标记完成前再次提示该操作只记录人工付款事实,不执行支付。
  • 人确认已付款后才转 SUCCEEDED;发现不一致时不付款并进入人工处理。

US-007 管理身份与设备身份不越权

作为采购管理员,我希望网页会话与设备 token 完全隔离,以便设备只能做被授权的执行工作。

验收场景:

  • 未登录不能查看任务或截图;登录会话具备 CSRF 防护。
  • 设备 token 不能创建任务、开始采购、重置任务或人工调和。
  • 管理会话不能伪装设备领取或建立围栏;设备凭据可撤销。

US-008 出问题时知道下一步

作为采购执行员,我希望错误包含阶段、固定原因和安全下一步,以便处理而不冒险重试。

验收场景:

  • 至少区分设备、App 版本、商品、面板、规格、价格、数量、确认页、围栏、安全校验和网络错误。
  • 围栏前错误提示停止、留证并等待人工处理;不会自动重新开始。
  • 围栏后错误明确写“可能已创建订单,只能调和,禁止再次点击”。
  • 桌面端详情切换不改变服务端状态;Esc 只回到当前任务视图,不取消业务流程。

US-010 批量授权待开始任务

作为采购管理员,我希望勾选多条 DRAFT 后统一点击开始采购,以便减少重复操作,同时知道每条都 会允许采购工具创建一笔待付款订单。

验收场景:

  • 表头复选框只选择当前筛选结果中的 DRAFT;切换筛选时选择范围可见且可清空。
  • 未选择时按钮禁用;选中后显示数量、最高总额与“不付款”说明。
  • 点击后批量全有或全无;成功反馈授权数量,冲突反馈刷新重选。
  • 非 DRAFT 行不能勾选;表格不提供每行“开始采购”按钮,避免逐行语义不一致。

四、交付前检查

  • 每个 P0 故事至少有一个自动化测试或明确的人机验收证据。
  • 页面、API、状态机只使用单趟采购术语,不再出现试选后确认、授权旧试选价或第二趟下单。
  • 任一可见“开始采购”都同时说明“只创建待付款订单,系统不付款”。
  • 任一围栏后状态都不提供重试、释放授权或重新开始入口。