購物車可以說是電商平臺的一個標配了,起初是用於多種商品的結算,現在很多用戶也把購物車當作臨時收藏來使用,這裡嘗試做一個基本的購物車架構設計。 用例分析 加入購物車、查看購物車、修改數量或者規格、移除商品、清空購物車,是一個購物車最基本的功能。 關鍵流程 1.查看購物車 關鍵點: 1)商品狀態判斷:上 ...
購物車可以說是電商平臺的一個標配了,起初是用於多種商品的結算,現在很多用戶也把購物車當作臨時收藏來使用,這裡嘗試做一個基本的購物車架構設計。
用例分析
加入購物車、查看購物車、修改數量或者規格、移除商品、清空購物車,是一個購物車最基本的功能。
關鍵流程
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 | 清空購物車 |