This article shares the specific code of the Java Online Book Mall Order Module for your reference. The specific content is as follows
1.My order---check
Query PageBean<Order> by user query
<div> <span style="margin-left: 150px;margin-right: 280px;">Product information</span> <span style="margin-left: 40px;margin-right: 38px;">Amount</span> <span style="margin-left: 50px;margin-right: 40px;">Order status</span> <span style="margin-left: 50px;margin-right: 50px;">Operation</span> </div> <table align="center" cellpadding="0" cellpacing="0"> <c:forEach items="${pb.beanList }" var="order"> <tr> <td>Order number: <a href="<c:url value='/OrderServlet?method=load&oid=${order.oid }'/>">${order.oid }</a></td> <td> Order time: ${order.ordertime }</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <tr style="padding-top: 10px; padding-bottom: 10px;"> <td colspan="2"> <c:forEach items="${order.orderItemList }" var="orderItem"> <a href="<c:url value='/BookServlet?method=load&bid=${orderItem.book.bid }'/>"> <img src="<c:url value='/${orderItem.book.image_b }'/>"/> </a> </c:forEach> </td> <td> <span>¥${order.total }</span> </td> <td> <c:choose> <c:when test="${order.status eq 1 }">(wait for payment)</c:when> <c:when test="${order.status eq 2 }">(prepare for shipment)</c:when> <c:when test="${order.status eq 3 }">(wait for confirmation)</c:when> <c:when test="${order.status eq 4 }">(transaction successful)</c:when> <c:when test="${order.status eq 5 }">(cancel)</c:when> </c:choose> </td> <td> <a href="<c:url value='/OrderServlet?method=load&oid=${order.oid }'/>">View</a><br/> <c:if test="${order.status eq 1 }"> <a href="<c:url value='/OrderServlet?method=paymentPre&oid=${order.oid }'/>">Pay</a><br/> <a href="<c:url value='/OrderServlet?method=load&oid=${order.oid }&btn=cancel'/>">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'/>">Confirm the receipt</a><br/> </c:if> </td> </tr> </c:forEach> </table></div> 2. Order generation in order module
OrderServlet
public String createOrder(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { /* * 1. Get the id of all shopping cart entries and query */ String cartItemIds = req.getParameter("cartItemIds"); List<CartItem> cartItemList = cartItemService.loadCartItems(cartItemIds); if(cartItemList.size() == 0) { req.setAttribute("code", "error"); req.setAttribute("msg", "You did not select the book you want to purchase, you cannot place an order!"); return "f:/jsps/msg.jsp"; } /* * 2. Create Order */ Order order = new Order(); order.setOid(CommonUtils.uuid());//Set the primary key order.setOrdertime(String.format("%tF %<tT", new Date()));//Set the order.setStatus(1);//Set the status, 1 means unpaid order.setAddress(req.getParameter("address"));//Set the delivery address User owner = (User)req.getSession().getAttribute("sessionUser"); order.setOwner(owner);//Set the order owner BigDecimal total = new BigDecimal("0"); for(CartItem cartItem : cartItemList) { total = total.add(new BigDecimal(cartItem.getSubtotal() + "")); } order.setTotal(total.doubleValue());//Set the total/* * 3. Create List<OrderItem> * A CartItem corresponds to an OrderItem */ List<OrderItem> orderItemList = new ArrayList<OrderItem>(); for(CartItem cartItem : cartItemList) { OrderItem orderItem = new OrderItem(); orderItem.setOrderItemId(CommonUtils.uuid()); //Set the primary key orderItem.setQuantity(cartItem.getQuantity()); orderItem.setSubtotal(cartItem.getSubtotal()); orderItem.setBook(cartItem.getBook()); orderItem.setOrder(order); orderItemList.add(orderItem); } order.setOrderItemList(orderItemList); /* * 4. Call service to complete the addition*/ orderService.createOrder(order); // Delete the shopping cart entry cartItemService.batchDelete(cartItemIds); /* * 5. Save the order and forward it to ordersucc.jsp */ req.setAttribute("order", order); return "f:/jsps/order/ordersucc.jsp";}OrderDao
public void add(Order order) throws SQLException { /* * 1. Insert order*/ 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. Loop through all entries of the order, so that each entry generates an Object[] * Multiple entries correspond to Object[][] * Execute batch processing to complete the insertion order entry*/ 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);}The above is all the content of this article. I hope it will be helpful to everyone's learning and I hope everyone will support Wulin.com more.