商品模块领域模型分析
约 1021 字大约 3 分钟
2026-02-03
1. 核心概念与聚合
| 聚合名称 | 聚合根 | 包含内容/值对象 | 核心职责 |
|---|---|---|---|
| 商品目录聚合 | goods (SPU) | 1. 基础信息(标题、详情图、参数) 2. Sku 列表(价格、库存、规格组合) | 管理商品的上架、下架以及多规格的价格管理。注意:库存变更通常属于库存聚合,但读取时需关联。 |
| 购物车聚合 | cart | 购物车条目 | 临时存储用户意向,计算选中商品的总金额。 |
| 订单聚合 | order | 1. 订单明细 2. 收货地址 3. 支付信息 | 订单是历史的快照。一旦创建,价格和地址不可变,记录交易契约。 |
| 库存聚合 | warehouse | 库存数量、锁定数量 | 管理商品的入库、出库和预占(防止超卖)。 |
2. 业务规则
商品信息与库存
- 规则 1 (SKU强制):用户购买的不是“商品”,而是具体的“SKU”。下单时必须校验具体规格(颜色/尺码)的库存。
- 规则 2 (价格快照):订单生成时,必须抓取当前 SKU 的快照价格写入订单。后续商品改价不影响已生成的订单。
- 规则 3 (上架/下架):商品下架(SPU级)不影响已生成的订单,但会导致详情页不可访问,且无法新增购物车条目。
购物车与下单流程
- 规则 4 (购物车前置):加入购物车是浏览行为,不扣减库存。只有提交订单(结算)时才涉及库存校验。
- 规则 5 (地址完整性):生成订单的前提是必须拥有有效的收货地址。
- 规则 6 (库存预占):下单成功(订单创建)时,库存进入“预占”状态。若超时未支付,预占库存需释放回可售库存。
3. 业务流程可视化分析
3.1 商品上架流程(运营侧)
运营人员需要先定义商品的基本信息,再为每个尺码/颜色单独设置库存和价格。
3.2 用户下单到结算流程(核心交互)
修正了你原有的流程,理顺了“加购 -> 结算 -> 选地址 -> 生成订单”的时序。
