1、主要分離線購物車和在線購物車(hash數(shù)據(jù)類型)
2阿弃、主要功能有(添加sku诊霹,刪除,更新渣淳,合并脾还,勾選購物項,排序入愧,展示可用優(yōu)惠券(最難))
3鄙漏、離線購物車,當檢查根據(jù)前端傳來的token判斷是否登錄棺蛛,如果沒有登錄就用離線購物車怔蚌,然后判斷有沒有cartKey,有則直接使用(redis中存離線購物車數(shù)據(jù)key為:shop:cart:temp:XXXX )XXXX用UUID生成;沒有則后天新創(chuàng)建離線購物車旁赊。
在線購物車是登錄后的桦踊,與用戶一一對應的。(redis中存離線購物車數(shù)據(jù)key為:shop:cart:user:userId )
4终畅、離線購物車如何與在線購物車綁定籍胯?
首先來說是無法綁定用戶的竟闪,因為加入離線購物車后,你不知道一會用誰的賬號登錄杖狼。所以就是與哪個在線購物和合并炼蛤,在登錄后確定。如果登錄多個賬號蝶涩,則多個在線購物車都會收到離線購物車中的數(shù)據(jù)理朋。
5、相關技術主要用了redis集群绿聘,redis持久化嗽上,fastJson做對象與json字符串之間的相互轉換。
6斜友、購物車數(shù)據(jù)結構
? ??????private List??items;//購物項
????????private Integer? total;//商品總數(shù)
????????private BigDecimal? totalPrice;//商品總價格