「这是我参与2022首次更文挑战的第10天,活动详情查看:2022首次更文挑战」
这一篇,主要讲宠物狗商城系统里面的购物商品模块,我的订单模块。
购物商品模块
实现效果如下
public String addToCart() {
TGoods goods = goodsDAO.findById(goodsId);
TOrderItem orderItem = new TOrderItem();
orderItem.setGoods(goods);
orderItem.setGoodsQuantity(quantity);
Map session = ServletActionContext.getContext().getSession();
Cart cart = (Cart) session.get("cart");
cart.addGoods(goodsId, orderItem);
session.put("cart", cart);
// this.setMessage("");
this.setPath("myCart.action");
return "succeed";
}
代码讲解: 首先是要点击查看某一个宠物狗,查看详情,点击加入购物车的话,就会把该宠物狗信息进入进去。这样购物车里面就会有该宠物狗了。
我的购物商品模块里面有几个功能,分别是删除该宠物狗,清空购物车,继续购物,进入下一步。
删除
只需要调用删除的方法即可。
public String orderDel()
{
TOrder order = orderDAO.findById(orderId);
orderDAO.delete(order);
Map session = ServletActionContext.getContext().getSession();
TUser user = (TUser) session.get("user");
this.setMessage("删除成功");
this.setPath("myOrder.action?userId=" + user.getUserId());
return "succeed";
}
清空购物车
删除购物调用的是delete方法,清空购物车是删除所有的宠物狗,调用deleteAll方法即可。
继续购物
宠物狗添加到购物车里,调用的是add方法(也可以说是save方法)。
进入下一步
这里是订单详情,之前定义的orderItem实体类,这里关联两个对象,一个是user对象,指的是谁购买的,另外一个对象是order订单类,关联的是宠物狗信息,orderItem是订单详情,这两个是不同的。
我的订单模块
提交订单成功页面
查询订单页面
查询订单,就是查orderItem这个表的数据,过滤出是自己的就可以了。
select * from orderItem where user = ?核心是这个
总结:
1、购物商品模块包含添加商品进去/继续购物(add方法或者save方法),删除(delete方法),清空(deleteAll方法),进入下一步(理清user表,order表,orderItem表的关系)
2、订单模块,查询orderItem表的数据