java网上图书商城(7)订单模块2_Java教程-查字典教程网
java网上图书商城(7)订单模块2
java网上图书商城(7)订单模块2
发布时间:2016-12-28 来源:查字典编辑
摘要:本文实例为大家分享了java网上图书商城订单模块的具体代码,供大家参考,具体内容如下1.我的订单---查按用户查询订单分页查询PageBea...

本文实例为大家分享了java网上图书商城订单模块的具体代码,供大家参考,具体内容如下

1.我的订单---查

按用户查询订单

分页查询 PageBean<Order>

<div> <div> <span>商品信息</span> <span>金额</span> <span>订单状态</span> <span>操作</span> </div> <table align="center" border="0" width="100%" cellpadding="0" cellspacing="0"> <c:forEach items="${pb.beanList }" var="order"> <tr> <td width="320px">订单号:<a href="<c:url value='/OrderServlet?method=load&oid=${order.oid }'/>">${order.oid }</a></td> <td width="200px">下单时间:${order.ordertime }</td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td colspan="2"> <c:forEach items="${order.orderItemList }" var="orderItem"> <a href="<c:url value='/BookServlet?method=load&bid=${orderItem.book.bid }'/>"> <img border="0" width="70" src="<c:url value='/${orderItem.book.image_b }'/>"/> </a> </c:forEach> </td> <td width="115px"> <span>¥${order.total }</span> </td> <td width="142px"> <c:choose> <c:when test="${order.status eq 1 }">(等待付款)</c:when> <c:when test="${order.status eq 2 }">(准备发货)</c:when> <c:when test="${order.status eq 3 }">(等待确认)</c:when> <c:when test="${order.status eq 4 }">(交易成功)</c:when> <c:when test="${order.status eq 5 }">(已取消)</c:when> </c:choose> </td> <td> <a href="<c:url value='/OrderServlet?method=load&oid=${order.oid }'/>">查看</a><br/> <c:if test="${order.status eq 1 }"> <a href="<c:url value='/OrderServlet?method=paymentPre&oid=${order.oid }'/>">支付</a><br/> <a href="<c:url value='/OrderServlet?method=load&oid=${order.oid }&btn=cancel'/>">取消</a><br/> </c:if> <c:if test="${order.status eq 3 }"> <a href="<c:url value='/OrderServlet?method=load&oid=${order.oid }&btn=confirm'/>">确认收货</a><br/> </c:if> </td> </tr> </c:forEach> </table> </div>

2.订单模块之生成订单

OrderServlet

public String createOrder(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { /* * 1. 获取所有购物车条目的id,查询之 */ String cartItemIds = req.getParameter("cartItemIds"); List<CartItem> cartItemList = cartItemService.loadCartItems(cartItemIds); if(cartItemList.size() == 0) { req.setAttribute("code", "error"); req.setAttribute("msg", "您没有选择要购买的图书,不能下单!"); return "f:/jsps/msg.jsp"; } /* * 2. 创建Order */ Order order = new Order(); order.setOid(CommonUtils.uuid());//设置主键 order.setOrdertime(String.format("%tF %<tT", new Date()));//下单时间 order.setStatus(1);//设置状态,1表示未付款 order.setAddress(req.getParameter("address"));//设置收货地址 User owner = (User)req.getSession().getAttribute("sessionUser"); order.setOwner(owner);//设置订单所有者 BigDecimal total = new BigDecimal("0"); for(CartItem cartItem : cartItemList) { total = total.add(new BigDecimal(cartItem.getSubtotal() + "")); } order.setTotal(total.doubleValue());//设置总计 /* * 3. 创建List<OrderItem> * 一个CartItem对应一个OrderItem */ List<OrderItem> orderItemList = new ArrayList<OrderItem>(); for(CartItem cartItem : cartItemList) { OrderItem orderItem = new OrderItem(); orderItem.setOrderItemId(CommonUtils.uuid());//设置主键 orderItem.setQuantity(cartItem.getQuantity()); orderItem.setSubtotal(cartItem.getSubtotal()); orderItem.setBook(cartItem.getBook()); orderItem.setOrder(order); orderItemList.add(orderItem); } order.setOrderItemList(orderItemList); /* * 4. 调用service完成添加 */ orderService.createOrder(order); // 删除购物车条目 cartItemService.batchDelete(cartItemIds); /* * 5. 保存订单,转发到ordersucc.jsp */ req.setAttribute("order", order); return "f:/jsps/order/ordersucc.jsp"; }

OrderDao

public void add(Order order) throws SQLException { /* * 1. 插入订单 */ String sql = "insert into t_order values(?,?,?,"; Object[] params = {order.getOid(), order.getOrdertime(), order.getTotal(),order.getStatus(),order.getAddress(), order.getOwner().getUid()}; qr.update(sql, params); /* * 2. 循环遍历订单的所有条目,让每个条目生成一个Object[] * 多个条目就对应Object[][] * 执行批处理,完成插入订单条目 */ sql = "insert into t_orderitem values(?,?,?,?,?,"; int len = order.getOrderItemList().size(); Object[][] objs = new Object[len][]; for(int i = 0; i < len; i++){ OrderItem item = order.getOrderItemList().get(i); objs[i] = new Object[]{item.getOrderItemId(),item.getQuantity(), item.getSubtotal(),item.getBook().getBid(), item.getBook().getBname(),item.getBook().getCurrPrice(), item.getBook().getImage_b(),order.getOid()}; } qr.batch(sql, objs); }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持查字典教程网。

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Java学习
    热门Java学习
    编程开发子分类