请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

购物车添加商品这个add.do这儿方法.谁能简单说下逻辑,有点混乱

跟着老师敲好是敲好了,但是还是有点蒙.................

正在回答 回答被采纳积分+3

1回答

提问者 qq_爱睡觉的Koala_0 2018-10-19 12:29:32

逻辑:首先通过传入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可以看做是个大盒子,里面装的都是具体数据的集合.这样逻辑就清晰.

3 回复 有任何疑惑可以回复我~
  • 提问者 qq_爱睡觉的Koala_0 #1
    自己总结的,这下思路好了许多.不知道对不对O(∩_∩)O哈哈哈~
    回复 有任何疑惑可以回复我~ 2018-10-19 12:31:02
  • 可以的
    回复 有任何疑惑可以回复我~ 2019-03-05 16:31:11
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信