接口设计逻辑-购物车模块

上级目录:购物车模块

1. CartVo:

返回前端VO(View Objiect)对象统一封装逻辑

根据用户编号获取对应的购物车列表
购物车列表非空
	遍历购物车列表,读单个购物车信息进行VO封装
		封装购物车固有属性,包括购物车ID,用户ID,是否选中
		根据购物车产品ID获取对应产品对象
		商品对象非空
			封装购物车中关于商品的属性,包括商品ID,商品主图,商品副标题,商品价格,商品名,商品状态,商品库存
			判断库存是否大于购买数量
			库存小于购买数量
				设置购买量为库存量
				设置超出库存标识
			库存大于等于购买数量
				正常购买量
				设置没有查出库存标识
			设置该商品购买总花费:单价乘以购买数量	
		商品对象为空
			continue,跳过该轮,进行下一轮商品封装
		根据商品勾选状态判断是否计入购物车总价
		将单个封装成功的购物车商品CartProductVO,封装进List<CartProductVO>
	遍历购物车列表完成
	判断购物车内商品是否是全选的状态,在CartVo中分别设置
	封装返回前端CartVO,封装属性包括购物车商品列表List<CartProductVO>,用户购物车总价,商品是否	全选状态
非空判断完成
返回CartVo对象
		
	

完成核心方法的封装之后其他的就很简单了,贯彻的思想可以修改为DAO与Service高复用,Controller保持唯一性

2. 购物车添加模块

判断当前用户是否登录,如果没有强制登录

  • 判断参数是否错误,如果错误返回参数错误
  • 判断根据用户编号和产品编号获取商品记录在购物车是否存在,如果不存在则新增一个产品的记录,如果存在则修改产品在购物车数量即可
  • 返回CartVO对象即可

3. 修改购物车记录

  • 判断当前用户是否登录,如果没有强制登录
  • 判断根据用户编号和商品编号获取商品记录在购物车是否存在,如果存在修改商品购买数量,不存在不予修改
  • 返回CartVO对象即可

4. 删除购物车信息

  • 判断商品集合是否为空,如果为空返回商品参数错误
  • 删除商品列表
  • 返回CartVO对象即可

5. 查询购物车列表

  • 返回CartVO对象即可

6. 选择或者反选

  • 根据用户编号,商品编号,选择标志修改选择状态,如果商品编号为空则全选或者全反选
  • 返回CartVO对象即可

7. 获取购物车数量

  • 判断用户编号是否为空,如果为空则返回数量是0
  • 返回根据用户编号获取的购物车产品数量
原创文章 243 获赞 156 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_43404791/article/details/105973349