1、主要分離線購物車和在線購物車(hash數(shù)據(jù)類型)
2、主要功能有(添加sku,刪除,更新,合并,勾選購物項,排序,展示可用優(yōu)惠券(最難))
3、離線購物車,當(dāng)檢查根據(jù)前端傳來的token判斷是否登錄,如果沒有登錄就用離線購物車,然后判斷有沒有cartKey,有則直接使用(redis中存離線購物車數(shù)據(jù)key為:shop:cart:temp:XXXX )XXXX用UUID生成;沒有則后天新創(chuàng)建離線購物車。
在線購物車是登錄后的,與用戶一一對應(yīng)的。(redis中存離線購物車數(shù)據(jù)key為:shop:cart:user:userId )
4、離線購物車如何與在線購物車綁定?
首先來說是無法綁定用戶的,因?yàn)榧尤腚x線購物車后,你不知道一會用誰的賬號登錄。所以就是與哪個在線購物和合并,在登錄后確定。如果登錄多個賬號,則多個在線購物車都會收到離線購物車中的數(shù)據(jù)。
5、相關(guān)技術(shù)主要用了redis集群,redis持久化,fastJson做對象與json字符串之間的相互轉(zhuǎn)換。
6、購物車數(shù)據(jù)結(jié)構(gòu)
? ??????private List??items;//購物項
????????private Integer? total;//商品總數(shù)
????????private BigDecimal? totalPrice;//商品總價格