在线购物系统首轮验收基础需求 - casf73/Software-Engineering-Practice GitHub Wiki

在线购物系统首轮验收基础需求

首轮范围 · 买家与卖家核心业务闭环

查看原始 Word 文档

文档信息 内容
版本 / 日期 V1.1 · 2026 年 9 月 29 日
文档用途 明确第一轮验收的基础功能范围,并标出后续验收项
技术方向 Vue 前端 + Spring Boot 后端

1 首轮范围与功能分层

1.1 首轮必须完成

功能模块 首轮验收要求
卖家入口 唯一后台账号 admin,初始密码 123456;卖家登录后可访问后台。
商品 卖家一次发布和管理一件当前商品;商品可展示名称、价格、可选描述和一张可选主图。
买家申请 买家无需注册,填写姓名和联系电话提交意向;成功页显示唯一口令码。
队列与查询 有效意向按提交顺序 FIFO 排队;买家用口令码查询状态和位置;卖家查看当前队列。
交易闭环 卖家决定何时开始,系统自动选队首并冻结商品;卖家登记成功或失败及失败处置。
撤销与下架 尚未进入交易的买家可撤销,交易中的买家不能撤销;卖家可主动下架商品。

1.2 后续验收与增强项

后续功能 安排到后续的原因
卖家修改密码 首轮使用固定初始账号登录即可完成核心流程;修改密码、校验旧密码和长度规则属于账号管理增强。
买家修改姓名或电话 首轮可通过等待时撤销后重新提交解决信息填错;在线修改属于便利性增强。
手动冻结与解冻商品 首轮保留交易开始时的系统冻结;卖家主动暂停和恢复商品另行验收。
商品分类与标签 不影响单件商品发布、浏览和交易闭环,属于商品管理扩展。
商品展示视频 涉及视频上传、大小和时长校验、存储及下架自动删除;首轮只支持图片展示。
历史商品、历史流水与长期个人信息留存 首轮只验收当前商品和当前队列;历史归档、只读查询、详细事件记录及长期保留策略后续验收。

2 角色与商品基础功能

2.1 使用角色

角色 首轮功能
买家(访客) 无需账号或口令码即可浏览当前商品;提交购买意向后用口令码查询自己的意向状态和队列位置。
卖家(唯一账号) 使用 admin / 123456 登录;发布和管理当前商品;查看意向队列;开始交易、登记结果或主动下架。

2.2 商品字段和校验

字段 首轮规则
商品名称 必填;目前不另设业务长度上限。
商品描述 选填;目前不另设业务长度上限。
商品图片 选填;最多 1 张 JPG 或 PNG,文件不超过 5 MB;未上传显示占位图,超限时提示。
价格 必填;人民币金额且大于 0,最多保留 2 位小数;目前不设价格上限。
  • 同一时刻最多有一件当前商品。商品发布成功后直接进入“在售”;商品交易成功或卖家主动下架后,卖家可以发布下一件商品。
  • 买家无需口令码即可查看当前商品。商品在交易中仍可查看,但不接受新的购买意向,并显示“商品交易中”。

3 买家意向与先到先得队列

  • 提交购买意向时,姓名和联系电话为必填项;首轮校验空值即可,未另行规定号码格式或字段长度。买家不创建账号,也不登录。
  • 提交成功后,系统生成与该意向绑定的唯一口令码,并在成功页面展示一次。口令码只用于查询和管理对应意向,不用于浏览商品或登录系统。
  • 买家凭口令码查看意向状态、当前排队位置和商品状态。卖家后台显示当前有效意向的姓名、电话、提交时间、队列位置及状态。
  • 系统以服务端成功提交时间为准按 FIFO 排队;卖家开始交易时只能由系统选择队首有效意向,不能跳过队首指定其他买家。

3.1 买家撤销规则

场景 首轮处理规则
仍在等待队列 买家可撤销。撤销后退出有效队列、原口令码立即失效,后续买家位置依次前移。
商品交易中,但买家尚未进入交易 买家仍可撤销自己的等待意向;撤销后原口令码立即失效,队列位置重新计算。
该买家已经进入交易 可用口令码查询状态,但不能撤销。买家不能自行标记交易成功或失败。

4 卖家交易和商品状态

卖家操作 商品处理 本次意向及口令码
开始交易 系统自动取队首有效意向;商品进入交易中并停止接收新意向。 队首改为“交易中”;其余买家保留排队状态。
交易成功 商品改为“商品下架”,当前商品流程结束。 本次意向为“交易成功”;未轮到的等待意向记为“交易失败”;相关口令码立即失效。
交易失败并作废 商品恢复“在售”,可继续处理队列。 本次意向作废并退出队列;口令码立即失效。
交易失败并重新排队 商品恢复“在售”,可继续处理队列。 沿用原意向和原口令码,移到队尾并刷新排队时间;买家仍显示“排队中”。
卖家主动下架 无进行中的交易时可下架;停止该商品的意向流程。 相关口令码立即失效;首轮不要求进入历史页面供卖家查询。

交易结果由卖家在后台登记,不需要买家确认。交易失败时,卖家必须在同一次操作中选择“作废”或“重新排队”;系统不会自动开始下一笔交易。

4.1 首轮状态

对象 状态 含义
商品 在售 可浏览、可提交新意向;卖家可开始队首交易或主动下架。
商品 交易中 已有买家进入线下交易;不接收新意向,等待卖家登记结果。
商品 商品下架 交易成功或卖家主动下架后进入;不再接受意向。
买家意向 排队中 等待卖家开始交易;口令码有效,可查询或撤销。重排后回到此状态。
买家意向 交易中 已进入交易;可查询,不可撤销。
买家意向 交易成功 / 交易失败 / 已作废 / 已撤销 按交易结果或撤销操作显示;对应口令码按前述规则立即失效,重排除外。

5 首轮验收检查

  1. 卖家可用 admin / 123456 登录,并能发布一个当前商品;缺少商品名称或价格时不能发布。
  2. 未登录买家可以浏览商品;图片可不上传,上传超过 5 MB 或格式不为 JPG / PNG 时得到提示。
  3. 买家姓名或电话未填写时不能提交;提交成功后看到唯一口令码,并能查询意向状态和排队位置。
  4. 多个买家提交后按提交顺序排队;卖家开始交易时系统只把队首带入交易。
  5. 交易开始后商品停止接受新意向;等待买家仍可查询和撤销,交易中的买家不能撤销。
  6. 等待买家撤销后口令码立即失效,且后续队列位置前移。
  7. 交易失败并作废后意向退出队列且口令码失效;交易失败并重新排队后原码有效且位置变为队尾。
  8. 交易成功后商品下架;队列剩余意向记为交易失败且口令码失效;卖家可以发布下一件商品。
  9. 卖家可在没有进行中交易时主动下架;下架后该商品不再接受新意向,相关口令码失效。

6 首轮技术边界

  • 前端使用 Vue,后端使用 Spring Boot;买家端和卖家后台通过后端接口读取和更新商品、队列及交易状态。
  • 当前商品、有效意向、队列顺序和口令码状态应持久化;服务重启后仍能继续当前商品流程。
  • 口令码失效后,买家不能再用该码查询或修改对应意向。首轮不验收历史商品浏览、完整操作流水、分页历史、统计报表或永久个人信息留存。
  • 商品视频及其“成功下架或主动下架后自动删除”规则随视频功能一起放入后续验收,不属于首轮图片上传范围。