购物车添加商品这个add.do这儿方法.谁能简单说下逻辑,有点混乱
来源:9-3 加入购物车功能开发2
qq_爱睡觉的Koala_0
2018-10-19
跟着老师敲好是敲好了,但是还是有点蒙.................
1回答
-
qq_爱睡觉的Koala_0
提问者
2018-10-19
逻辑:首先通过传入session获取用户信息,校验是否登录,接着从user里提取userId与传入的productId一并传给service层
* service层首先校验传入的两个参数是否为空,接着通过userId和productId查询购物车表并返回购物车里该商品的对象.如果为null,说明表中没有该商品,进行更新
*通过new一个购物车里商品对象,然后封装对应参数插入数据库购物车表里. 如果商品存在,那就更新该商品对象的数量!购物车里查的商品数量加上用户输入的数量
* 注意(前端还需要其他数据;如:商品总价格,购物车总价格,是否全选等数据)我们需要新建VO类(vo类可以理解成专门用于展示给用户看的类)
* 为了逻辑清晰:我们需要将查询购物车得到的商品对象放进cartList集合,然后遍历得到每个对象.
* 然后new一个前台用户展示的类(前端需要的类)cartProductVo,将对应数据封装到cartProductVo类里.(细节,通过遍历得到cartItem,然后取出它的productId,查询得出产品信息)
* 然后将查询出的产品信息在封装到cartProductVo,也就是前端需要展示的类! 注意(还要写判断库存的逻辑,写完也封装到cartProductVo里)
* 最后将cartProductVo封装进购物车CartVo里,(购物车总价格cartTotalPrice;是否是全选getAllCheckedStatus逻辑书写,写完也封装进CartVo里.)
* 然后返回CartVo给controller,返回给前端.我认为这里cartProductVo,CartVo都是需要展示给用户看的类,所以数据需要我们封装,CartVo可以看做是个大盒子,里面装的都是具体数据的集合.这样逻辑就清晰.322019-03-05
相似问题