一、购物车的三种实现思路
1.用户未登录时,购物车数据存入Cookie中,登录后,存入Redis中,并且在用户首次登录时判断cookie是否有购物车数据,合并cookie中的数据到redis中,(Cookie最大存放4K)
2.采用LocalStorage解决cookie中数据限制,(一般浏览器是5M,存多了数据页面会变卡)
3.不考虑用户是否登录,都存入Redis中,未登录时随机出一个UUID作为Redis的key,并将该UUID存入Cookie中,用户登录后,从SpringSecurity中获取当前用户名,合并以UUID为key的购物车数据到用户名loginname为key的购物车数据中(开发用到的)
我们使用SpringSecurity整合CAS(单点登陆)技术来实现用户登陆
二、购物车结构的说明
一个用户的购物车List<Cart>里存放着多个Cart(子购物车),每个Cart分为三部分,sellerId(商家ID)、sellerName(公司名称)、orderItemList(购物车商品明细,也就是每一个SKU在购物车中的表现形式!)
购物车Cart这个对象在数据库中并不存在,所以我们在pojo的entity包下建立一个Cart实体类(注意别忘了实现序列化),而TborderItem这个购物车中商品明细存在实体类,所以不必再创建