2022首次更文挑战第10天 | 基于SSH的宠物狗商城系统教程03

154 阅读2分钟

「这是我参与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表的数据