业务流程图 - xych5q/online-shop GitHub Wiki

业务流程图

第 1 组 · 在线购物系统(迭代 1) | 与 需求规格说明书 4 节状态机(v1.1)、用例表 对应 图为 Mermaid 源码,GitHub Wiki 页面可直接渲染。 2026-10-07 同步:依据 需求问题库 第三节 8 条答复——队首自动进入交易并自动冻结、交易中买家仍可撤销、手动下架不因有排队意向禁止、失败意向由卖家后台逐单处置。


一、系统总体流程(买家排队交易全链路)

flowchart TD
    A[卖家发布商品] --> B[商品: 在售]
    B --> C[买家浏览商品<br/>描述空则留空 无图占位图]
    B -- "卖家手动下架(系统自动执行)<br/>不因有排队意向而禁止" --> Z["商品: 已下架进历史<br/>队列剩余意向: 失败<br/>口令码全部失效(查不到改不了撤不了)<br/>系统无通知 买家凭码自查"]
    C --> D["买家提交意向<br/>姓名+电话 必填·完全不校验"]
    D --> E[获得口令码<br/>仅显示一次]
    E --> F[排队中]
    F --> G{轮到队首}
    G -- "系统自动<br/>(卖家无'进入交易'操作)" --> H[商品自动冻结<br/>队首意向: 交易中]
    H --> I{卖家线下交易后<br/>标记结果}
    I -- 成功 --> J["意向: 成功<br/>队列剩余: 失败<br/>商品: 已下架进历史<br/>口令码全部失效"]
    I -- 失败 --> K[意向: 失败<br/>待卖家处置]
    K --> L{队列还有人?}
    L -- 有 --> M[下一位自动递补<br/>商品保持冻结]
    M --> I
    L -- 没有 --> N[商品恢复在售]
    N --> C
    K --> O{卖家后台逐单处置}
    O -- 作废 --> P[意向彻底结束]
    O -- "重新排队(无次数上限)" --> Q[排到队尾<br/>口令码不变]
    Q --> F
    F -- 买家凭码撤销 --> R[意向: 已撤销<br/>口令码失效]
    H -- "队首凭码撤销(交易中口令码仍有效)" --> T[意向: 已撤销<br/>交易终止 商品恢复在售]
    T --> T2{队列还有人?}
    T2 -- 有 --> G
    T2 -- 没有 --> C
Loading

关键点(2026-10-07 拍板):① 队首进入交易与冻结均由系统自动完成,卖家后台手动操作仅剩"标记交易结果"与"冻结/解冻"两项;② 交易中买家仍可凭码撤销,撤销后交易终止、商品恢复在售、后续队列按序递补。

二、商品状态机

stateDiagram-v2
    [*] --> 在售: 卖家发布
    在售 --> 已冻结_manual: 手动冻结
    在售 --> 已冻结_auto: 队首自动进入交易(系统自动·同时冻结)
    已冻结_manual --> 在售: 手动解冻
    已冻结_auto --> 已下架: 标记交易成功
    已冻结_auto --> 在售: 标记失败且队列空
    已冻结_auto --> 已冻结_auto: 标记失败且队列有人<br/>(下一位自动递补)
    在售 --> 已下架: 手动下架(不因有排队意向禁止)
    已冻结_manual --> 已下架: 手动下架
    已下架 --> [*]: 进入历史(只读)
Loading

说明:手动冻结与交易冻结共用"已冻结"状态,用 frozenBy 区分(manual/auto);买家端不区分提示文案。无超时自动解冻机制。下架后排队意向口令码全部失效,系统无通知功能。

三、意向状态机

stateDiagram-v2
    [*] --> 排队中: 提交意向<br/>获得口令码
    排队中 --> 交易中: 成为队首<br/>系统自动进入交易
    交易中 --> 成功: 卖家标记交易成功
    交易中 --> 失败: 卖家标记交易失败
    排队中 --> 已撤销: 买家凭码撤销
    交易中 --> 已撤销: 队首凭码撤销<br/>(交易终止·商品恢复在售·后续递补)
    失败 --> 排队中: 卖家后台置为重新排队<br/>(口令码不变·排到队尾·无次数上限)
    成功 --> [*]
    已撤销 --> [*]
    失败 --> [*]: 卖家作废 / 商品下架
Loading

终态三档:成功 / 撤销 / 失败。口令码在进入终态后失效(重新排队期间除外)。交易中口令码始终有效,可查、可改、可撤。

四、关键规则速查

规则 内容 依据
先到先得 队列按提交时间正序,卖家不能挑人 全站澄清
进入交易 系统自动:队首自动进入交易并自动冻结,卖家后台无"进入交易"操作 10-07 答复 #8
冻结期间 不接收新意向;可浏览;不区分手动/交易文案 全站澄清
交易中撤销 买家在交易中仍可凭码撤销;队首撤销 → 交易终止、商品恢复在售、后续递补;撤销按钮无需隐藏 10-07 答复 #3
成功后果 商品下架进历史 + 队列剩余转失败 + 口令码全失效 + 不可撤销 全站澄清
失败后果 下一位自动递补;队列空则恢复在售 全站澄清
失败意向处置 由卖家在后台逐单确认作废或重新排队(非系统自动入队);重排无次数上限、排到队尾、口令码不变 10-07 答复 #6、#9
手动下架 不因有排队意向而禁止;队列剩余意向转失败、口令码全部失效;系统无通知功能 10-07 答复 #2
修改信息 买家改姓名/电话后,卖家后台与历史记录均显示最新信息,不保留改动前记录 10-07 答复 #4
字段校验 姓名/电话必填但完全不校验(不做 11 位数字等格式检查,填错责任在买家);商品描述为空留空、不加默认文案,无图显示占位图 10-07 答复 #5、#7
口令码 全局唯一、只显示一次、不可找回 全站澄清
⚠️ **GitHub.com Fallback** ⚠️