package com.kettas.action; import java.util.ArrayList; 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 org.apache.struts.actions.MappingDispatchAction; import com.kettas.biz.OrderBiz; import com.kettas.entity.Order; import com.kettas.entity.Shoppingcart; import com.kettas.entity.User; import com.kettas.exception.BizException; /* * Title:订单操作相关Action * Author:SecondGroup * Time:2010.1.14 * Version:1.0.0 */ public class OrderAction extends MappingDispatchAction{ private OrderBiz obiz; public OrderBiz getObiz() { return obiz; } public void setObiz(OrderBiz obiz) { this.obiz = obiz; } /* * 生成订单Action */ public ActionForward generateOrder(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){ HttpSession session=request.getSession(true); /* * 从session作用域内得到登陆用户对象 */ User user=(User) session.getAttribute("login"); /* * 从session作用域内得到购物项集合 */ Shoppingcart cart=(Shoppingcart) session.getAttribute("cart"); Order order=new Order(); order.setItems(cart.getItems()); order.setStatus(0);//此时是给用户预览订单,等用户确定订单之后才把订单状态改为1 order.setUser(user); order.setCost(cart.getTotalCost()); List<Order> orders=new ArrayList<Order>(); Order userOrder=new Order(); try { //将订单存入DB obiz.addOrder(order); //再根据status查询订单,目的查出全部未付款的订单 orders=obiz.getOrdersByStatus(0); //遍历该集合查找出属于本user的未付款状态的订单 for(Order o:orders){ //从数据库中取出来的id是String类型的,所以不能用==比较 if(o.getUser().getId().equals(user.getId())){ //将此订单返回显示 userOrder=o; } } } catch (Exception e) { throw new BizException(e); } request.setAttribute("order", userOrder); return mapping.findForward("printorder"); } /* * 结账Action */ public ActionForward checkout(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){ String orderIdStr=request.getParameter("orderId"); Integer orderId=Integer.parseInt(orderIdStr); String costStr=request.getParameter("cost"); double cost=Double.parseDouble(costStr); Order order=new Order(); try { order=obiz.getOrderById(orderId); int status=1;//此时才将订单状态改为1,即已付款 order.setStatus(status); //修改数据库中的订单状态 obiz.modifyOrder(order); } catch (Exception e) { throw new BizException(e); } request.setAttribute("order", order); request.setAttribute("cost", cost); //结账之后清空session中的cart HttpSession session=request.getSession(true); Shoppingcart cart=(Shoppingcart) session.getAttribute("cart"); request.setAttribute("cart", cart); session.removeAttribute("cart"); return mapping.findForward("checkout"); } /* * 获得全部订单Action */ public ActionForward getAllOrders(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){ HttpSession session=request.getSession(true); User user=(User) session.getAttribute("login"); System.out.println("========================"+user.getName()+user.getId()+"=================================="); List<Order> orders=new ArrayList<Order>(); List<Order> iwantorders=new ArrayList<Order>(); int ordersNum=0; double ordersCost=0; System.out.println("========================FuckingData=================================="); try { orders=obiz.getAllOrders(); } catch (Exception e) { throw new BizException(e); } for(Order o:orders){ System.out.println("=========================="+o.getUser().getName()+"==============================="); if(o.getUser().getName().equals(user.getName())){ iwantorders.add(o); ordersNum++; ordersCost+=o.getCost(); } } request.setAttribute("orders", iwantorders); request.setAttribute("ordersNum", ordersNum); request.setAttribute("ordersCost", ordersCost); return mapping.findForward("manageorder"); } }
![](https://static.zuidaima.com/resource/img/heart_ico.png)
haruto1213 LV1
2023年6月30日
yyyyyyyc LV1
2022年9月21日
qweqqw123 LV2
2021年12月20日
鲁西西 LV1
2021年6月29日
908902058 LV1
2021年6月15日
1973356987 LV13
2021年6月8日
风雨中的孤傲 LV2
2021年5月25日
情绪别致的疯子 LV3
2020年12月20日
嘿嘿嘿123333 LV3
2020年6月26日
林志勇 LV10
2020年5月22日
![](https://static.zuidaima.com/resource/img/cattle_ico.png)
quartz LV8
7月1日
xiao1111 LV3
6月18日
郭宇航裹裹 LV4
6月7日
wangbh1234 LV1
6月6日
2411307984 LV1
5月8日
hhxq0902
4月20日
暂无贡献等级
微信网友_6797846869299200 LV7
1月1日
jiemomo LV12
2023年11月3日
廖业贵 LV18
2023年10月17日
3273408633 LV2
2023年9月14日