0.购物车的设计
数据库设计:购物车的主要属性有id,userid,product_info(有关商品的信息,例如id、价格等),num。所以需要通过不同的user_id来辨识不同的购物车,表中的一条记录表示的是某一用户购物车中的一个商品的信息(包括商品具体信息+数量)。
购物车对象设计:包含多条购物车数据的记录(但是user_id相同)。
1. 添加商品(一次数量之加1)
传入参数:购物车VO
返回值:购物车VO(包含购物车中的所有商品及其数量信息)
具体业务逻辑:
1. 判断用户登录情况:通过cookie中的token进行判断,如果未登录,需要跳转到登录页登录。
2. 判断购物车中是否已存在商品:存在则直接数量+1跳转至第5步。不存在则跳转第3步。
3. 查询商品信息:通过商品ID远程调用商品服务,从而来查询商品信息。
4. 将商品信息与数量加入到购物车的商品列表中。
5. 保存至数据库并向前端返回。
2.减少数量(一次数量只减1)
与添加商品思想类似。
3. 清空购物车
传入参数:购物车VO
返回值:空
根据传入的购物车的用户id删除购物车。
4. 购买成功后清空购物车中的选中商品
传入参数:购物车VO
返回值:空
首先找到数量为0的商品的product_id,随后根据user_id和product_id删除购车表中相应记录。