购物车表分析

1 加入购物车

加入购物车插入到库中一条购物记录,同时插入到缓存中,缓存的key是记录的id

未登录状态
用户未登录时点击加入购物车,将productId ,skuId,buyNum 转换成json存到cookie中(同一件商品不同的skuId视为两个商品,相同的skuId和productId视为相同商品数量累加),用户登录成功的时候接收用户的消息将cookie中的商品信息保存到数据库中,然后清空cookie数据(京东)不然会出现登录成功后删除购物车商品然后退出,购物车中显示问题

登录状态
点击加入购物车将long userId,long productId,long skuId,int count 存到库中,相同的productId和skuId 数量累加,不同的skuId新增一条
addToCart(long userId,long skuId,int count); //加入sku到购物车商品

2修改商品数量

未登录状态
用户未登录时,点击加减数量,根据productId和skuId从cooike中将商品数量进行加减,注意校验cooike中的数量不能小于0,不能大于库存数量

登录状态
用户登录状态时,点击加减数量productId和skuId,userId将用户购物车中某个sku的数量增加或减去differ值,注意校验库存数量
updateAmount(long userId,skuId,int differ,List selectedSkuIds); //将用户购物车中某个sku的数量增加或减去differ值。此方法更新商品后,会根据selectedSkuIds重新计算一遍购物车价格,返回满足条件的优惠券

删除购物车记录

未登录状态
用户未登录时,根据productId和skuId删除cookie中的记录
deleteCart(long userId,long skuId, List selectedSkuIds); //将某个sku从用户购物车移除。此接品,在清除后台会重复计算selectedSkuIds价格,并会返回选中的sku列表与未选中的sku列表集合。及相应优惠券。

登录状态
登录状态下,直接根据productId和skuId以及userId删除库中数据

4购物车列表展示

未登录状态
从cookie中取出productId以及skuId列表展示商品信息

登录状态
登录状态下根据用户id查询库中的记录数
getCart(long userId,list selectedSkuIds); //查询用户购物车。此接口会重新计算selectedSkuIds,并返回选中与未选中sku列表集合,返回相应的满足条件的优惠券信息。

5.订单提交成功后更新购物车数量以及修改购物车状态

订单提交成功后接收订单成功消息,更新购物车状态和数量删除缓存记录

6.商品下架后,更新库存状态,显示失效

商品下架后接收消息修改购物车里的商品状态为失效

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在逛各大电商网站的时候,总会有将商品加入购物车,然后合并付款,这个大大的提高了用户的体验,某东更是任性,在未登录的...
    nine_9阅读 5,494评论 0 11
  • 目录Cookie机制什么是CookieCookie的不可跨域名性Unicode编码:保存中文BASE64编码:保存...
    Tomatoro阅读 17,006评论 7 186
  • 九型人格认为,人是由基本欲望所控制,按人的基本欲望可以划分成九种类型的性格,反过来基本欲望的背面就是基本恐惧;同时...
    王庆义阅读 2,972评论 0 1
  • 这就是爱 文/李沐遥 图/网络 . 一 . 春天,诗意盎然 你在每一个枝头笑着等我 次第绽放在你的心间 . 昨夜的...
    李沐遥阅读 3,118评论 0 2
  • 内含一丢丢剧透,请放心食用_(:з」∠)_ 跨年看这个大概也是脑子不好233 然后在电影里院哭成个傻子,验证了果然...
    引梦的灯塔阅读 3,157评论 0 1