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"); } }
最近下载更多
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日
最近浏览更多
zhangsan_lisi
9月18日
暂无贡献等级
quartz LV8
7月1日
xiao1111 LV3
6月18日
郭宇航裹裹 LV5
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日