บทความนี้แบ่งปันรหัสเฉพาะของโมดูลสั่งซื้อหนังสือ Java Online Mall สำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
1. คำสั่งซื้อของฉัน --- ตรวจสอบ
Query PageBean <Sorder> โดยผู้ใช้แบบสอบถาม
<div> <span style = "margin-left: 150px; margin-right: 280px;"> ข้อมูลผลิตภัณฑ์ </span> <span style = "margin-left: 40px; margin-right: 38px;"> จำนวน </span> <span style = "margin-letft: 50px; 50px; มาร์จิ้น-ขวา: 50px; "> การดำเนินการ </span> </div> <table align =" center "cellpadding =" 0 "cellpacing =" 0 "> <c: foreach items =" $ {pb.beanlist} "var =" คำสั่งซื้อ "> <tr> <td> value = '/orderSvlet? method = load & oid = $ {order.oid}'/> "> $ {order.oid} </a> </td> <td> เวลาสั่งซื้อ: $ {order.ordertime} </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <tr style = "padding-top: 10px; padding-bottom: 10px;"> <td colspan = "2"> href = "<c: url value = '/bookservlet? method = load & bid = $ {orderItem.book.bid}'/>"> <img src = "<c: url value = '/$ {orderitem.mage_b}'/>"/> } </span> </td> <td> <c: เลือก> <c: เมื่อ test = "$ {order.status eq 1}"> (รอการชำระเงิน) </c: เมื่อ> <c: เมื่อทดสอบ = "$ {order.status eq 2}" การยืนยัน) </c: เมื่อ> <c: เมื่อ test = "$ {order.status eq 4}"> (การทำธุรกรรมสำเร็จ) </c: เมื่อ> <c: เมื่อทดสอบ = "$ {order.status eq 5}"> (ยกเลิก) </c: เมื่อ> value = '/orderSvlet? method = load & oid = $ {order.oid}'/> "> ดู </a> <br/> <c: ถ้า test =" $ {order.status eq 1} "> <a href =" <c: url value = '/orderservlet href = "<c: url value = '/orderSvlet? method = load & oid = $ {order.oid} & btn = cancel'/>"> cancel </a> <br/> </c: ถ้า> <c: ถ้า test = "$ {order.status eq 3}" } & btn = ยืนยัน '/> "> ยืนยันใบเสร็จรับเงิน </a> <br/> </c: ถ้า> </td> </tr> </c: foreach> </blem> </div> 2. การสร้างคำสั่งซื้อในโมดูลคำสั่งซื้อ
คำสั่งซื้อ
สตริงสาธารณะ CreateOrder (httpservletrequest req, httpservletResponse resp) พ่น servletexception, ioexception { / * * 1. รับรหัสของรายการตะกร้าสินค้าทั้งหมดและแบบสอบถาม * / สตริง cartitemids = req.getParameter ("cartItemIds"); รายการ <CartItem> cartItemList = cartItemService.loadCartItems (cartItemIds); if (cartItemList.size () == 0) {req.setAttribute ("รหัส", "ข้อผิดพลาด"); req.setAttribute ("msg", "คุณไม่ได้เลือกหนังสือที่คุณต้องการซื้อคุณไม่สามารถสั่งซื้อได้!"); return "f: /jsps/msg.jsp"; } / * * 2. สร้างคำสั่งซื้อ * / คำสั่งซื้อ = สั่งซื้อใหม่ (); order.setoid (conmonutils.uuid ()); // ตั้งค่าคีย์หลัก order.setOrdertime (string.format (" %tf %<tt", วันที่ใหม่ ())); // ตั้งค่า order.setstatus (1); (ผู้ใช้) req.getSession (). getAttribute ("SessionUser"); order.setOwner (เจ้าของ); // ตั้งค่าเจ้าของคำสั่งซื้อ bigdecimal total = ใหม่ bigdecimal ("0"); สำหรับ (cartItem cartItem: cartItemList) {total = total.add (ใหม่ bigDecimal (cartItem.getSubtotal () + "")); } order.settotal (total.doublevalue ()); // ตั้งค่าทั้งหมด/ * * 3. สร้างรายการ <orderItem> * cartItem สอดคล้องกับ orderItem */list <OrderItem> orderItemList = new ArrayList <ORDERITEM> (); สำหรับ (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 (คำสั่งซื้อ); orderItemList.add (orderItem); } order.setOrderItemList (orderItemList); /** 4. บริการโทรเพื่อเติมเต็ม*/ orderservice.createOrder (คำสั่งซื้อ); // ลบรายการตะกร้าสินค้า CartItemService.BatchDelete (CartItemIds); / * * 5. บันทึกคำสั่งซื้อและส่งต่อไปยัง orderucc.jsp */ req.setAttribute ("คำสั่งซื้อ", คำสั่งซื้อ); return "f: /jsps/order/ordersucc.jsp";}orderdao
โมฆะสาธารณะเพิ่ม (คำสั่งซื้อ) พ่น sqlexception { /** 1. แทรกคำสั่ง* / string sql = "แทรกลงในค่า t_order (?,?,?,?,?,?)"; Object [] params = {order.getoid (), order.getOrderTime (), order.getTotal (), order.getStatus (), order.getAddress (), order.getOwner (). getUid ()}; qr.update (sql, params); / * * 2. วนซ้ำรายการทั้งหมดของคำสั่งเพื่อให้แต่ละรายการสร้างวัตถุ [] * หลายรายการสอดคล้องกับวัตถุ [] [] * ดำเนินการประมวลผลแบทช์เพื่อให้รายการคำสั่งซื้อแทรกเสร็จสิ้น */ sql = "แทรกลงในค่า t_orderitem (? int len = order.getOrderItemList (). size (); วัตถุ [] [] objs = วัตถุใหม่ [len] []; สำหรับ (int i = 0; i <len; i ++) {orderItem item = order.getOrderItemList (). get (i); objs [i] = วัตถุใหม่ [] {item.getOrderItEmid (), item.getQuantity (), item.getSubtotal (), item.getBook (). getBid (), item.getBook (). getBname (), item.getBook () } qr.batch (sql, objs);}ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น