購物車可以說是電商平臺的一個標配了,起初是用于多種商品的結算,現在很多用戶也把購物車當作臨時收藏來使用,這里嘗試做一個基本的購物車架構設計。
用例分析

加入購物車、查看購物車、修改數量或者規格、移除商品、清空購物車,是一個購物車最基本的功能。
關鍵流程
1.查看購物車

關鍵點: 1)商品狀態判斷:上下架、預售 2)限購 3)庫存緊張判斷
2.修改數量/規格

關鍵點: 1)在購物車中加減數量,不涉及庫存扣減操作,僅判斷當前庫存是否購買數量
3.購物車容量

關鍵點: 1)購物車作為臨時存儲,容量一般會做一定的限制,根據實際業務而定
數據模型

存儲方案
1.基于Redis
使用Redis的Hash數據結構
2.基于數據庫
| user_id | sku_id | quantity | price |
|---|---|---|---|
| uid_10001 | sku_001 | 10 | 12 |
| uid_10001 | sku_002 | 2 | 100 |
| uid_10002 | sku_001 | 10 | 12 |
對外接口
| 接口 | 說明 |
|---|---|
| /cart/add | 加入購物車 |
| /cart/view | 查看購物車 |
| /cart/modify | 修改數量/規格 |
| /cart/remove | 移除商品 |
| /cart/clear | 清空購物車 |

浙公網安備 33010602011771號