Este artigo compartilha o código específico do módulo Java Online Book Mall Order para sua referência. O conteúdo específico é o seguinte
1. Meu pedido --- Verifique
PageBean de consulta <locrom> por consulta de usuário
<div> <span style = "margem-esquerda: 150px; margem-direita: 280px;"> Informações do produto </span> <span style = "margin-left: 40px; margem-direita: 38px;"> quantidade </span> <span style = "margin-left: 50px; margin-right: 40px; 50px; margem-direita: 50px; "> operação </span> </div> <tabela align =" Center "Cellpadding =" 0 "CellPacing =" 0 "> <c: foreach itens =" $ {pb.beanList} "var =" order "> <tr> <t> número de ordem: <a href = value = '/orderServlet? Método = load & oid = $ {order.oid}'/> "> $ {order.oid} </a> </td> <td> tempo de pedido: $ {order.ordendime} </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; preenchimento-bottom: 10px; href = "<c: url value = '/bookServlet? Método = carregamento & bid = $ {orderItem.Book.bid}'/>"> <img src = "<c: url value = '/$ {orderitem.book.image_b}'/"/> </a> </c: para cada </td> <td> <c: escolha> <c: quando test = "$ {order.status eq 1}"> (aguarde pelo pagamento) </c: when> <c: when test = "$ {order.status eq 2}"> (prepare -se para o envio) </c: when> <c: when) <c: Quando teste = "$ {order.status eq 4}"> (transação bem -sucedida) </c: when> <c: when test = "$ {order.status eq 5}"> (cancel) </c: quando> </c: escolha> </td> <td> <a href = "<c: url value"/»/tdr. } '/> "> View </a> <br/> <c: if test =" $ {order.status eq 1} "> <a href =" <c: url value ='/orderServlet? Método = pageyPre & oid = $ {order.oid} '/> 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 = '/orderSertLey? } & btn = Confirm '/> "> Confirmar o recebimento </a> <br/> </c: se> </td> </tr> </c: foreach> </ table> </div> 2. Geração de pedidos no módulo de ordem
OrderServlet
public String CreateOrder (httpServletRequest req, httpServletResponse resp) lança servletexception, ioexception { / * * 1. Obtenha o ID de todas as entradas do carrinho de compras e consulta * / string cartiMids = req.getParameter ("CartImidsss"); Lista <TeTitem> CartItemList = CartItemService.loadcartItems (CartItemids); if (cartItemList.size () == 0) {req.setattribute ("code", "error"); req.setattribute ("msg", "Você não selecionou o livro que deseja comprar, não pode fazer um pedido!"); retornar "f: /jsps/msg.jsp"; } / * * 2. Criar ordem * / ordem da ordem = new Order (); order.setOid (CommonUtils.uuid ()); // Defina o Primário Order.SetOrderTime (String.Format (" %tf %<tt", new Date ())); // Defina o Order.setStatus (1); // Defina o status, 1 significa ordem não paga.SetAddress (REUNSOTPARAMETER (""); (Usuário) req.getSession (). GetAttribute ("sessionUser"); Order.setwner (proprietário); // Defina o proprietário do pedido BigDecimal Total = new BigDecimal ("0"); para (CartItem CartItem: CartItemList) {total = total.add (novo bigdecimal (cartiM.getSubtotal () + "")); } order.setTotal (total.doubleValue ()); // Defina o total/ * * 3. para (cartiM CartItem: CartItemList) {OrderItem OrderItem = new OrderItem (); OrderItem.setorderItemid (Commonutils.uuid ()); // Defina o Primário OrderItem.setquantity (CartIm.getQuantity ()); OrderItem.SetSubtotal (CartIm.getSubtotal ()); OrderItem.SetBook (CartIm.getBook ()); OrderItem.setorder (Order); orderItemlist.add (OrderItem); } order.setorderItemList (OrderItemList); /** 4. Ligue para o serviço para concluir a adição*/ orderService.CreateOrder (Order); // Exclua o carrinho de compras CartItemService.BatchDelete (CartItemids); / * * 5. Salve o pedido e encaminhe -o para ordensucc.jsp */ req.setAttribute ("order", ordem); retornar "f: /jsps/order/ordersucc.jsp";}Orderdao
public void Add (Order Order) lança SqLexception { /** 1. Inserir ordem* / string sql = "inserir nos valores de t_order (?,?,?,?,?,?)"; Object [] params = {order.getoid (), order.getordertime (), order.gettotal (), order.getStatus (), order.getAddress (), order.getwner (). GetUid ()}; qr.Update (SQL, params); / * * 2. Faça um loop através de todas as entradas da ordem, para que cada entrada gera um objeto [] * Várias entradas correspondem ao objeto [] [] * Execute o processamento do lote para concluir a entrada da ordem de inserção */ sql = "inserir nos valores t_orderitem (?,?,?,?,?,?,?); int len = order.getorderItemList (). size (); Objeto [] [] objs = novo objeto [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 (). } qr.batch (sql, objs);}O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.