it is public knowledge that 购物车在电商项目中是必定要出现的,那么,购物车到底应该怎么做呢?大致思路是什么呢?
下面以笔者的一个小购物车的demo为例,用来示范一下购物车创建的大致思路!
一,项目搭建
首先建议创建一个cart专用的服务器,cart_web,cart_service,cart_interface.
二.逻辑分析
首先,购物车分为两部分组成:
商家信息(sellerName,sellerId)和商品信息(itemList是一个集合)
-
1. 购物车添加分为两种情况:
未登录时:
将购物车的商品添加到cookie缓存中
登录后:
将购物车商品添加到redis中,并且合并cookie中的数据,最后再将cookie清空。 -
添加商品的逻辑
要进行两次循环判断,首先判断添加的商品的商家信息,原有购物车中是否有这个商家的商品,如果没有,则直接创建一个新的商家,商品信息。如果有,则判断已有的商品的规格信息和添加的新商品是否为统一规格型号,如果是同一规格型号,则直接在数量上和价格上添加,如果不是同一规格型号,则直接创建一个新的itemList集合进行添加。
3.查看购物车信息
分为两种情况:
如果未登录,则从cookie中查看购物车信息
如果已经登录,则从redis中读取,并且合并cookie中缓存,一起展示出来,同时清除cookie。
三.代码编写
-
查看购物车列表的功能:
不管是否登,都先从cookie中取一下,然后再判断cookie中是否存在,若果没有,就给他一个空集合,在判断是否登录,如果未登录,就直接显示出来cookie中的商品,如果登录了,就从redis中查找,并且合并两个,再把cookie删除,统一保存到redis中。
如果登录,从redis中查找信息方法:
合并cookie和redis: -
添加方法:
saveListToRedis内容:
service层实现:
其中两个判断是否有此商家和是否为同一型号的两个小方法:
如果都没有,则创建一个新的订单信息:
来源:CSDN
作者:weixin_43826423
链接:https://blog.csdn.net/weixin_43826423/article/details/103482340