激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術(shù)|正則表達(dá)式|

服務(wù)器之家 - 編程語言 - JAVA教程 - java網(wǎng)上圖書商城(7)訂單模塊2

java網(wǎng)上圖書商城(7)訂單模塊2

2020-07-10 19:33ganchuanpu JAVA教程

這篇文章主要為大家詳細(xì)介紹了java網(wǎng)上圖書商城,訂單模塊第二篇,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了java網(wǎng)上圖書商城訂單模塊的具體代碼,供大家參考,具體內(nèi)容如下

java網(wǎng)上圖書商城(7)訂單模塊2

1.我的訂單---查

按用戶查詢訂單
分頁查詢 PageBean<Order>

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<div class="divMain">
 <div class="divTitle">
 <span style="margin-left: 150px;margin-right: 280px;">商品信息</span>
 <span style="margin-left: 40px;margin-right: 38px;">金額</span>
 <span style="margin-left: 50px;margin-right: 40px;">訂單狀態(tài)</span>
 <span style="margin-left: 50px;margin-right: 50px;">操作</span>
 </div>
 <table align="center" border="0" width="100%" cellpadding="0" cellspacing="0">
 <c:forEach items="${pb.beanList }" var="order">
 <tr class="tt">
  <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 style="padding-top: 10px; padding-bottom: 10px;">
  <td colspan="2">
  <c:forEach items="${order.orderItemList }" var="orderItem">
   <a class="link2" 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 class="price_t">¥${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 }">(準(zhǔn)備發(fā)貨)</c:when>
   <c:when test="${order.status eq 3 }">(等待確認(rèn))</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'/>">確認(rèn)收貨</a><br/>
  </c:if>
  </td>
 </tr>
 </c:forEach>
 </table>
</div>
 

2.訂單模塊之生成訂單

OrderServlet

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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. 創(chuàng)建Order
 */
 Order order = new Order();
 order.setOid(CommonUtils.uuid());//設(shè)置主鍵
 order.setOrdertime(String.format("%tF %<tT", new Date()));//下單時間
 order.setStatus(1);//設(shè)置狀態(tài),1表示未付款
 order.setAddress(req.getParameter("address"));//設(shè)置收貨地址
 User owner = (User)req.getSession().getAttribute("sessionUser");
 order.setOwner(owner);//設(shè)置訂單所有者
 
 BigDecimal total = new BigDecimal("0");
 for(CartItem cartItem : cartItemList) {
 total = total.add(new BigDecimal(cartItem.getSubtotal() + ""));
 }
 order.setTotal(total.doubleValue());//設(shè)置總計
 
 /*
 * 3. 創(chuàng)建List<OrderItem>
 * 一個CartItem對應(yīng)一個OrderItem
 */
 List<OrderItem> orderItemList = new ArrayList<OrderItem>();
 for(CartItem cartItem : cartItemList) {
 OrderItem orderItem = new OrderItem();
 orderItem.setOrderItemId(CommonUtils.uuid());//設(shè)置主鍵
 orderItem.setQuantity(cartItem.getQuantity());
 orderItem.setSubtotal(cartItem.getSubtotal());
 orderItem.setBook(cartItem.getBook());
 orderItem.setOrder(order);
 orderItemList.add(orderItem);
 }
 order.setOrderItemList(orderItemList);
 
 /*
 * 4. 調(diào)用service完成添加
 */
 orderService.createOrder(order);
 
 // 刪除購物車條目
 cartItemService.batchDelete(cartItemIds);
 /*
 * 5. 保存訂單,轉(zhuǎn)發(fā)到ordersucc.jsp
 */
 req.setAttribute("order", order);
 return "f:/jsps/order/ordersucc.jsp";
}

OrderDao

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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. 循環(huán)遍歷訂單的所有條目,讓每個條目生成一個Object[]
 * 多個條目就對應(yīng)Object[][]
 * 執(zhí)行批處理,完成插入訂單條目
 */
 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);
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产一级毛片高清视频完整版 | 成人一区二区三区在线 | 成人在线视频免费观看 | 国产一国产精品一级毛片 | 他也色在线视频 | 国产99久久久久久免费看农村 | 国产精品欧美日韩一区二区 | 国产羞羞视频在线观看免费应用 | 国产噜噜噜噜噜久久久久久久久 | 蜜桃一本色道久久综合亚洲精品冫 | 毛片在线视频在线播放 | 在线观看国产www | 午夜久久久精品一区二区三区 | 91久久久久久亚洲精品禁果 | 日操操夜操操 | 午夜生活理论片 | 精品免费久久 | 黄色va视频 | 日韩精品免费一区二区三区 | av大全在线免费观看 | 亚洲网站一区 | 国产艳妇av视国产精选av一区 | 欧美一区二区三区免费电影 | 亚洲一区二区三区视频免费 | 亚洲视频在线网 | 成人黄色小视频在线观看 | 国产精品伦视频看免费三 | 国产91久久久久久 | 毛片视频播放 | 国产欧美日韩一区二区三区四区 | 久艹在线视频 | 国产精品一区二区三区在线播放 | 黄色免费高清网站 | 国产va在线观看 | 网站毛片 | 国产美女视频一区 | 欧美一级黄色免费看 | 在线免费日韩 | 视屏一区 | www.99热视频 | 国产成人自拍av |