购物车设计思路
2017-02-21 08:48
190 查看
加入购物车
加入购物车插入到库中一条购物记录,同时插入到缓存中,缓存的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到购物车商品
修改商品数量
未登录状态
用户未登录时,点击加减数量,根据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.商品下架后,更新库存状态,显示失效
商品下架后接收消息修改购物车里的商品状态为失效
http://blog.csdn.net/zhaozhenzuo/article/details/49963635
加入购物车插入到库中一条购物记录,同时插入到缓存中,缓存的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到购物车商品
修改商品数量
未登录状态
用户未登录时,点击加减数量,根据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.商品下架后,更新库存状态,显示失效
商品下架后接收消息修改购物车里的商品状态为失效
http://blog.csdn.net/zhaozhenzuo/article/details/49963635
相关文章推荐
- 购物车设计思路
- 购物车设计思路
- 购物车设计思路
- 购物车的设计思路
- 购物车设计思路
- 用jQuery模仿淘宝开发购物车的思路、遇到的技术问题、源代码--着重讲页面的设计
- BBS 设计思路系列 ---- Post的三个层次
- BBS 设计思路系列 ---- 社区首页和论坛的更新原则
- BBS 设计思路系列 ---- 论坛帖子列表排序,默认应该再加上价值的加权
- BBS 设计思路系列 ---- 客户端程序需要提供哪些功能
- BBS 设计思路系列 ---- 网友提供的一个用户在CSDN的总分算法
- BBS 设计思路系列 ---- 管理的透明性
- BBS 设计思路系列 ---- 论坛制度功能到底是应该是简单还是复杂??
- BBS 设计思路系列 ---- 社区的概念只能推广到目前的大论坛层次,不能推广到底层论坛层次
- BBS 设计思路系列 ---- 调查帖的质量与数量控制
- BBS 设计思路系列 ---- 上传、下载文件、图片
- BBS 设计思路系列 ---- BBS 是用来泡的
- BBS 设计思路系列 ---- 奖励的物质化,其实也花不了多少钱
- BBS 设计思路系列 ---- 减少无限的奖励,增加有限的奖励
- BBS 设计思路系列 ---- 做综合性社区就是让用户需要的东西主动去找用户