⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shoppingaction.java

📁 网上购物系统struts+spring+hibernate实现
💻 JAVA
字号:
package com.sdi0708.bdifn.bookstore.web.struts.action;import java.util.Date;import java.util.Iterator;import java.util.List;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import com.sdi0708.bdifn.bookstore.domain.Cart;import com.sdi0708.bdifn.bookstore.domain.Catalog;import com.sdi0708.bdifn.bookstore.domain.Order;import com.sdi0708.bdifn.bookstore.domain.OrderItem;import com.sdi0708.bdifn.bookstore.domain.Product;import com.sdi0708.bdifn.bookstore.domain.User;import com.sdi0708.bdifn.bookstore.service.util.PageForm;/** * 类别管理模块的action * @author 吴承志 * */public class ShoppingAction extends BaseShoppingAction {	/**	 * 找出所有的顶层类别	 */	public ActionForward viewCatalogs(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response) throws Exception {		//shopping浏览商品时要先择类别		List<Catalog> catalogs = getShoppingFacade().findParentCatalogs();		request.setAttribute("catalogs", catalogs);		if(request.getParameter("action") != null) {			return mapping.findForward("search");		}		return mapping.findForward("success");	}	/**	 * 通过特定的的类别ID查找类别下的所有商品	 */	public ActionForward browserProducts(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response) throws Exception {		Long catalogid = Long.valueOf(request.getParameter("catalogid").trim());		//通过特定的类别查找类别下的所有商品		List<Product> products = getShoppingFacade().findAllProduct(catalogid);		request.setAttribute("products", products);		return mapping.findForward("success");	}		public ActionForward buy(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response) throws Exception {		//从请求参数中取得产品ID		Long productid = Long.valueOf(request.getParameter("productid"));		//从数据库中找出特定的产品		Product product = getShoppingFacade().findById(productid);		//取得session		HttpSession session = request.getSession();		Cart cart = null;		//session线程不安全,所以要进行同步化		synchronized(session) {			//先从session中取,如果不存在,则创建一个			cart = (Cart) session.getAttribute("cart");			if(cart == null) {				cart = new Cart();			}		}		//把产品加入购物车中,		cart.addItem(product);		//把购物车放到session中		session.setAttribute("cart", cart);		//还要把产品的类别id放到session属性中(不太大),在点继续购买时还回到原类别		session.setAttribute("catalogid", product.getCatalog().getId());		return mapping.findForward("success");	}		public ActionForward changAmount(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response) throws Exception {		Long productid = Long.valueOf(request.getParameter("productid"));		int amount = Integer.parseInt((request.getParameter("amount")));		//取得session		HttpSession session = request.getSession();		Cart cart = null;		//session线程不安全,所以要进行同步化		synchronized(session) {			//先从session中取,如果不存在,则创建一个			cart = (Cart) session.getAttribute("cart");			if(cart == null) {				cart = new Cart();			}		}		//修改价格		cart.changeQuntity(productid, amount);		//把购物车放到session中		session.setAttribute("cart", cart);		return mapping.findForward("success");	}		public ActionForward deleteItem(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response) throws Exception {		Long productid = Long.valueOf(request.getParameter("productid"));		//取得session		HttpSession session = request.getSession();		Cart cart = null;		//session线程不安全,所以要进行同步化		synchronized(session) {			//先从session中取,如果不存在,则创建一个			cart = (Cart) session.getAttribute("cart");			if(cart == null) {				cart = new Cart();			}		}		//删除购物车的特定定单项		cart.removeItemtByProductId(productid);		//把购物车放到session中		session.setAttribute("cart", cart);		return mapping.findForward("success");	}		public ActionForward removeAllProductAction(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response) throws Exception {		//取得session		HttpSession session = request.getSession();		Cart cart = null;		//session线程不安全,所以要进行同步化		synchronized(session) {			//先从session中取,如果不存在,则创建一个			cart = (Cart) session.getAttribute("cart");			if(cart == null) {				cart = new Cart();			}		}		cart.clear();		//把购物车放到session中		session.setAttribute("cart", cart);		return mapping.findForward("success");	}	public ActionForward removeSelectedProducts(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response) throws Exception {		String[] productids = request.getParameterValues("productid");		Long [] ids  = new Long[productids.length];		for(int i = 0; i < productids.length; i ++) {			ids[i] = Long.valueOf(productids[i]);		}		//取得session		HttpSession session = request.getSession();		Cart cart = null;		//session线程不安全,所以要进行同步化		synchronized(session) {			//先从session中取,如果不存在,则创建一个			cart = (Cart) session.getAttribute("cart");			if(cart == null) {				cart = new Cart();			}		}		//删除所选中id的项		cart.removeItemsByProductId(ids);		//把购物车放到session中		session.setAttribute("cart", cart);		return mapping.findForward("success");	}		public ActionForward checkOut(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response) throws Exception {				//取得session		HttpSession session = request.getSession();		//首先判断用户是否登陆了		User user = null;		synchronized(session) {			user = (User)session.getAttribute("user");		}		if(user == null) {			//如果还没有登陆,跳转到登陆页面			return mapping.findForward("login");		}		Cart cart = null;		//session线程不安全,所以要进行同步化		synchronized(session) {			//先从session中取,如果不存在,则创建一个			cart = (Cart) session.getAttribute("cart");			if(cart == null) {				cart = new Cart();			}		}				//把订单信息进行持久化		Order order = new Order();		order.setCreateTime(new Date());		order.setUser(user);		//0表示刚产生,1表示发货,2表示失效.		order.setStatus(0);		order.setTotalPrice(cart.getTotalPrice());		this.getShoppingFacade().addOrder(order);				Iterator<OrderItem> items = cart.getCartItems().iterator();		while(items.hasNext()) {			OrderItem item = items.next();			item.setOrder(order);			getShoppingFacade().addOrderItems(item);		}		//最后把购物车清空,并从session中删除		cart.clear();		session.removeAttribute("cart");		//顺便把类别号也删除		session.removeAttribute("catalogid");				request.setAttribute("orderId", order.getId());		return mapping.findForward("success");	}	/**	 * 查看用户订单信息	 */	public ActionForward viewOrders(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response) throws Exception {		HttpSession session = request.getSession();		User user = (User)session.getAttribute("user");		List<Order> orders = this.getShoppingFacade().findAllOrderByUserId(user.getId());		request.setAttribute("orders", orders);		return mapping.findForward("success");	}	/**	 * 管理员查看订单信息	 */	public ActionForward showUsersOrders(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response) throws Exception {	PageForm pf = new PageForm();				int currentPage = 0;		try {			currentPage = Integer.parseInt(request.getParameter("currentPage"));		} catch(NumberFormatException e) {			currentPage = 1;		}				int pageSize = 5;		int  recordCount = this.getShoppingFacade().getOrderCount();		pf.init(pageSize, recordCount);		pf.setCurrentPage(currentPage);				List<Order> orders = getShoppingFacade().findAllOrders((currentPage - 1) * pageSize, pageSize);		request.setAttribute("orders", orders);		request.setAttribute("pageForm", pf);				return mapping.findForward("success");	}		/**	 * 查看用户订单明细	 */	public ActionForward showDetails(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response) throws Exception {					showDetailUtil(request);		return mapping.findForward("success");	}		/**	 * 查看用户订单明细	 */	public ActionForward showOrderDetails(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response) throws Exception {		showDetailUtil(request);				return mapping.findForward("success");	}		private void showDetailUtil(HttpServletRequest request) {		Long orderid = Long.valueOf(request.getParameter("orderid"));		List<OrderItem> items = this.getShoppingFacade().findAllOrderItems(orderid);		request.setAttribute("items", items);	}		/**	 * 搜索产品	 */	public ActionForward searchProducts(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response) throws Exception {		Long catalogid = null;				try {			catalogid = Long.valueOf(request.getParameter("catalogid").trim());		} catch (NumberFormatException e) {			//如果没有选择类别,则找全部类别的		}		String keyword = request.getParameter("keyword");		//通过特定的类别查找类别下的所有商品		List<Product> products = getShoppingFacade().findAllProduct(catalogid,keyword);		request.setAttribute("products", products);		return mapping.findForward("success");	}		/**	 * 管理员修改订单状态	 */	public ActionForward modifyOrderStatus(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response) throws Exception {		changeStatus(request);		return mapping.findForward("success");	}	//确认已收货	public ActionForward submitOrder(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response) throws Exception {		changeStatus(request);		return mapping.findForward("success");	}	/**	 * 修改状态	 * @param request	 */	private void changeStatus(HttpServletRequest request) {		Long orderid = Long.valueOf(request.getParameter("orderid"));		int status = Integer.valueOf(request.getParameter("status"));		this.getShoppingFacade().modifyOrderStatus(orderid, status);	}			}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -