巴青农资商城

购物车功能需求.md 19KB

购物车 — 功能需求说明(C 端)

本文档在《购物车功能需求-草稿》基础上整理,并关联 《关联需求分析.md》 v1.6、平台侧 《商品管理功能需求》 v1.3.3、《商品审核功能需求》** v1.0、《商品分类功能需求》** v1.5、《店铺管理功能需求》** v1.3.6、《会员管理功能需求》** v1.1、《订单管理功能需求》** v1.0.1 及 C 端兄弟模块 《商品详情内页功能需求》 v1.0、《我的服务功能需求》** v1.1、《商城首页功能需求》** v1.0.2、《搜索页功能需求》** v1.0、《店铺主页功能需求》** v1.0 做边界与流程对齐。
范围:C 端(消费者 APP / 用户商城)· 购物车 的已加购商品列表、勾选、改数量、移除、失效提醒与 同店合并结算 入口;不涉及 确认订单、支付、履约及数据库/接口设计。
说明: 本模块 维护当前会员购物车行读取 商品/店铺实时档案;不维护 商品发品、订单履约。
v1.0: 首版定稿;对齐草稿 §1~§8;补全按店分组、加购来源、四条件校验时机、与确认订单边界。


1. 模块定位

1.1 业务目标

已登录的 C 端买家会员 提供 待购商品暂存与合并下单前整理 能力,使其能够:

  • 查看已加入购物车的商品,按 店铺 分组浏览;
  • 勾选 待结算商品、增减数量移出 购物车;
  • 批量清理 缺货、已下架等 失效 商品;
  • 同一店铺 内已选商品 合并结算,进入 确认订单(另册);
  • 接收 库存/下架 等失效提醒,并可 进入商品详情 查看。

不包含(本期或与它模块分工):

能力 说明
商品详情展示、规格选择、首次加购 《商品详情内页功能需求》 §7
确认订单、地址选择、运费、支付 确认订单《订单管理功能需求》
订单列表、售后、评价 我的订单 等模块
全站搜索、分类浏览、店铺主页 兄弟模块 只读跳转 来源,不在此 执行
平台/商家维护商品、店态 商品管理店铺管理
跨店铺合并为一笔订单结算 草稿 明确不支持(§5)

1.2 在业务链中的位置

【浏览层】首页 / 分类 / 搜索 / 店铺主页 ──► 商品详情
                              ↓
【加购】详情「加入购物车」(须登录 + 四条件,见 §10)
                              ↓
【本模块】购物车 · 勾选 · 改数量 · 同店结算
                              ↓
【交易层】确认订单 → 支付 → 订单履约(平台订单管理)

【用户链】须 **已登录且启用** 会员;访客 **不可** 使用本模块(加购在详情引导登录)
关联模块 关系 边界说明
商品详情 v1.0 上游写入 加购写入本模块;细则 去重、累加 见 §6.3
确认订单(待建设) 下游 本模块 仅跳转 并携带 单店已选行
订单管理 v1.0.1 下游 下单后生成订单;购物车行 移除或扣减 策略在确认订单/下单成功时处理(另册)
我的服务 v1.1 间接 结算页 选用收货地址;地址维护 不在 本模块
商品管理/审核 商品态/库存/价格 列表 读实时;非出售中/零库存 标失效
店铺管理 v1.3.6 店态 停业店商品 可展示结算拦截
商品分类 v1.5 可购第 3 条 分类隐藏 → 结算时 不可购
会员管理 v1.1 用户链 禁用会员 不可 使用购物车
关联需求分析 v1.6 §11 四条件 加购与 去结算 均须校验(§10)

1.3 与《关联需求分析》的对应

关联分析要点 本模块
C 端浏览与下单分离 购物车 可含 停业/缺货/下架行(展示层);结算 按四条件拦截
店铺停业 S-P3 可保留展示去结算 提示停业
商品状态变更 商家/平台下架 不自动删 购物车行;本模块 标失效 并可清理
库存 加购/改数量/结算前 校验实时库存
不支持跨店合单 草稿 §5;仅同店 合并结算
订单 O-P4 支付成功扣库存;购物车 不预扣 库存

1.4 使用端与角色

角色 能力
C 端 已登录且启用的会员 本模块全部能力
C 端 访客 不可进入;详情加购 引导登录
C 端 已禁用会员 不可 使用(无法登录)
平台/商家端 管理员/商家 不操作 本页面;在各自模块维护商品/店铺

2. 关联需求分析

2.1 与 C 端《商品详情内页功能需求》

定稿
加购入口 详情页「加入购物车」写入(本期);列表 快捷加购
加购前置 登录;多规格须 选完规格;通过 四条件 方可写入(GD3、§11)
加购后 成功提示;默认停留详情;用户 进入购物车 Tab/页
购物车行字段 商品、所选规格、数量 与详情选择 一致
同商品同规格 合并为一行,数量 累加(去重规则见 §6.3)
失效进详情 缺货/下架提醒 可点击 进入 该商品详情(草稿 §7、§8)

2.2 与平台《商品管理》/《商品审核》

定稿
可展示行 购物车 可保留 历史加购行;实时 读商品状态与库存
出售中 有库存且满足四条件 → 可勾选结算
已下架 「已下架」不可 勾选结算;可 批量清理(草稿 §4、§8)
非出售中(待审/未上架/审核失败) 视同 不可购;标 失效已下架 类文案;不可 结算
单价 展示 当前售价;进入/刷新列表时 读最新;若变价 以最新为准(可选提示「价格已更新」)
规格 展示 加购时规格文案;多规格商品 一行对应一组规格

2.3 与平台《店铺管理功能需求》

定稿
分组 列表按 店铺名称 分组(草稿隐含)
开业 该店已选商品 尝试结算(仍须商品侧四条件)
停业 该店商品 仍展示去结算 拦截,提示 店铺已停业
已删店 该店行 标失效整组不可结算;建议 可批量清理
店名/头像 实时 读档;刷新列表更新

2.4 与平台《商品分类功能需求》

定稿
可购第 3 条 商品所属 平台分类(一、二级)均显示 方可结算
分类被隐藏后 购物车行 仍可展示去结算 提示 商品不可购买

2.5 与 C 端《我的服务功能需求》

定稿
登录态 我的服务 一致:须 有效 Token
收货地址 不在 购物车维护;确认订单 页选用 地址簿(MS-A 系列)

2.6 与《订单管理功能需求》

定稿
结算产物 本模块 去结算确认订单 → 提交生成 待支付 订单
订单范围 单店铺 一次结算对应 一笔 订单(草稿 §5;与订单「单店」一致)
支付超时/关单 不影响 购物车其它未结算行
平台履约 不在 本模块

3. 页面与入口

3.1 页面清单

页面 说明
A. 购物车列表 按店铺分组的商品行 + 勾选 + 数量 + 底栏结算

本期仅一页 购物车二级页、 店内搜索。

3.2 入口

入口 行为
底部 Tab / 导航「购物车」 进入 A. 列表(须登录)
商品详情加购成功 可选跳转购物车(非强制
其它链入 带登录态进入 A. 列表

未登录: 进入购物车 → 引导登录 → 成功后 可回跳 购物车(以前台为准)。


4. 访问控制

编号 规则
CT0 使用本模块 已登录 且会员 启用
CT1 购物车数据 仅归属当前会员不可 查看他人购物车
CT2 访客 不可 加载列表(详情加购时已引导登录)

5. 购物车列表展示

对齐草稿 §1。

5.1 分组与排序

定稿
分组 按店铺 分组;组头展示 店铺名称(可 点击进店店铺主页,可选)
组内排序 最近加购/最近更新在前加购时间倒序(以前台定稿为准)
店铺间排序 最近有更新的店铺组在前(建议)

5.2 商品行展示字段

字段 说明
店铺名称 组头展示;行内 可不重复
商品主图 读商品 当前主图
商品名称 当前名称
商品规格 加购时所选规格 文案(统一规格可为「默认」)
数量 当前购物车数量
单价 当前售价(见 §2.2)
小计 单价 × 数量(可选行内展示)
失效标签 见 §8(缺货 / 已下架 / 店铺停业等 可选组合展示

5.3 空态

情形 行为
购物车无任何行 「购物车是空的」(或等价); 引导 首页/分类
某店组内全失效且已清理 店组消失

6. 勾选、数量与加购合并

6.1 商品勾选

对齐草稿 §2。

定稿
行勾选 每条 可独立勾选/取消
店铺全选 可选 支持 店铺组内全选/取消
全局全选 可选;若实现,不改变 「仅同店结算」规则
失效行 不可勾选 或勾选后 去结算时拦截(建议:不可勾选 并置灰)
默认勾选 新加购行 默认勾选默认不勾选(以前台定稿为准)

6.2 增减数量

对齐草稿 §3。

用户点击「+ / -」或输入数量
    → 校验:数量 ≥ 1
    → 校验:数量 ≤ 当前规格 **实时库存**
        → 超过 → 提示「库存不足」,**不** 超过库存上限
    → 数量为 0 或点删除 → 见 §7(移出行)
    → 成功 → 更新行数量与小计
编号 规则
CT-Q1 数量 最小为 1(在本模块改数量时)
CT-Q2 数量 不得超过 当前规格 库存
CT-Q3 改数量时 重新校验 商品出售中、店态等;不满足则 标失效

6.3 同商品同规格合并(加购去重)

定稿
维度 同一会员 + 同一商品 + 同一规格一行
再次加购 数量 累加;不超过 库存上限
超过库存 加购或累加 阻断,提示 库存不足
不同规格 不同行

7. 管理购物车(移出与批量清理)

对齐草稿 §4。

7.1 移出购物车

操作 行为
单条删除 左滑/删除按钮 → 移出 该行
勾选后删除 勾选 一个或多个 行 → 删除选中 → 移出
确认 建议 二次确认(以前台为准)

7.2 批量清理失效商品

操作 行为
入口 「清理失效商品」 或等价按钮
范围 缺货已下架非出售中不可购 行(§8)
交互 执行前 展示将清理数量;确认后 批量移出
部分勾选 支持 仅清理失效行;不影响 有效行勾选态(草稿「取消个别勾选」)

8. 库存校验与失效提醒

对齐草稿 §6~§8。

8.1 校验时机

时机 行为
进入/刷新 购物车 自动 校验各行 实时库存 与商品/店态
改数量 校验库存上限
点击去结算 再次校验 已选行 四条件(§10)

8.2 缺货商品

定稿
判定 商品 出售中当前规格库存 = 0
展示 行标 「缺货」 或等价标签
勾选 不可勾选(建议)
点击 可进入商品详情(草稿 §7)
清理 纳入 批量清理失效

8.3 下架/不可售商品

定稿
判定 商品 非出售中(含 已下架
展示 行标 「已下架」「商品不可购买」
勾选 不可勾选
点击 可进入商品详情(草稿 §8)
清理 纳入 批量清理失效

8.4 其它失效(补充)

情形 列表行为 结算
店铺 停业 可展示;可选标「店铺休息中」 拦截,提示停业
店铺 已删 标失效或整组不可用 不可
分类 不可见 可展示 拦截,提示不可购
商品 已删 移除 或标失效待清理 不可

9. 合并结算(同店)

对齐草稿 §5。

9.1 规则

编号 规则
CT-S1 不支持 跨店铺商品 合并为一笔 订单结算
CT-S2 仅支持 同一店铺已勾选 商品 合并结算
CT-S3 底栏 合计去结算 针对 当前操作店铺当前勾选且同店 的商品(以前台 UX 为准,不得 跨店合单)
CT-S4 若勾选 spanning 多店 → 去结算 阻断,提示 请选择同一店铺的商品结算按店分别结算

9.2 流程

用户勾选某店内一个或多个 **有效** 商品
    → 点击「去结算」
        → 校验 §10 四条件(逐行或整批)
            → 不通过 → 提示具体原因(下架/停业/库存/分类)
            → 通过 → 进入 **确认订单页**
                    携带:shopId、商品行(规格、数量、价格快照策略见确认订单专册)

9.3 与确认订单边界

定稿
本模块 选店、选品、数量、跳转
确认订单 收货地址、运费、应付总额、提交订单、支付
返回 确认订单 返回 购物车 保留 未提交行(除非下单成功清除,见订单专册)

10. 与下单、会员的协作(四条件)

同时满足 《关联需求分析》§11 四条件方可 写入购物车(加购时)去结算

# 条件 加购时 去结算时 不满足提示方向
1 商品 = 出售中 商品已下架 / 不可购买
2 店铺 = 开业 店铺已停业
3 平台分类(一、二级)均显示 商品不可购买
4 所选规格 库存 > 0 库存不足 / 缺货
场景 行为
加购后商品下架 保留;标失效;不可结算
加购后库存变 0 缺货不可结算
加购后店停业 保留去结算 拦截
会员禁用 不可 进购物车
购物车 不扣库存 校验支付成功 后扣减(订单 O-P4)

11. 页面流程总览

【入口】Tab 购物车 / 详情加购后跳转(须登录)
    → A. 购物车列表(按店分组)
        ├── 勾选 / 改数量
        ├── 删除 / 批量清理失效
        ├── 缺货·下架行 → 点击进商品详情
        └── 同店已选 → 去结算 → 确认订单(另册)

【并行写入】
    商品详情 · 加入购物车 → 合并行 / 累加数量 → 本列表可见

12. 异常与加载

草稿 §9「code、msg、data」不在本文定义

情形 行为
列表加载失败 错误提示 + 重试
改数量/删除失败 Toast 原因;不改变回滚 至原值
去结算校验失败 明确提示;不跳转 确认订单
Token 失效 引导重新登录

13. 业务规则汇总

编号 规则
CT0 登录且启用 会员
CT1 当前会员 数据
CT2 列表按 店铺 分组
CT3 行展示:主图、名称、规格、数量、单价
CT4 支持 勾选
CT5 支持 增减数量(≥1,≤库存)
CT6 支持 移出批量清理失效
CT7 不支持跨店 合并结算
CT8 自动/去结算前 校验库存与可购态
CT9 缺货/下架 提醒可进详情
CT10 加购 仅在详情;同规格 合并累加

14. 非本期范围

说明
列表/搜索页 快捷加购 详情 再加购
跨店 一键结算多单 草稿 不支持
购物车 优惠券、满减、凑单 草稿 未要求
购物车 商品推荐、常买 草稿 未要求
失效商品 自动删除(无用户操作) 默认 标失效批量清理 由用户触发
商家端查看会员购物车
购物车 服务端搜索/分类 Tab
确认订单、支付 完整交互 另册

15. 草稿对照与修订说明

草稿条目 本文档处理
§1 商品列表字段 §5.2
§2 勾选 §6.1
§3 增减数量 §6.2
§4 管理:移出、批量清理、取消勾选 §7
§5 不支持跨店合并结算 §9
§6 库存校验 §8.1
§7 缺货提醒进详情 §8.2
§8 下架提醒进详情 §8.3
§9 异常 code/msg/data §12 不纳入
§10 技术栈 不纳入
未写:登录、按店分组、加购来源、四条件、确认订单边界 §1、§2、§4、§9、§10 补充

16. 修订记录

版本 说明
v1.0 首版定稿:列表、勾选、改量、移出、失效提醒、同店结算;关联详情/订单/店铺/商品/会员与关联需求分析

文档版本:v1.0(定稿)· 关联《购物车功能需求-草稿.md》、《关联需求分析.md》v1.6、《商品详情内页功能需求.md》v1.0、《店铺管理功能需求.md》v1.3.6、《订单管理功能需求.md》v1.0.1、《会员管理功能需求.md》v1.1 · 草稿保持不变。