一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

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

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

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

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

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

java網上圖書商城(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;">訂單狀態</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 }">(準備發貨)</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

?
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. 創建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

?
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. 循環遍歷訂單的所有條目,讓每個條目生成一個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);
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 啊好爽视频 | 精品91| 久久亚洲免费视频 | 九九热国产视频 | 日韩成人精品在线 | 成人免费影院 | 青青青青久久国产片免费精品 | 60岁了天天要小伙子 | 男人狂擦女人的下面视频 | 高级黄色片| 国产a片毛片 | 国产成人夜色影视视频 | 99热在线国产 | 四虎库 | 性欧美黑人巨大喷潮xxoo | 王的视频vk | 操大肥b| 精品国产成人a区在线观看 精品高潮呻吟99AV无码视频 | 日本不卡高清免费v日本 | 国产在线精品99一卡2卡 | 麻麻与子乱肉小说怀孕 | 日本福利网 | 久久xxxx | 1717she精品视频在线观看 | 天天躁天天碰天天看 | 4tube高清性欧美 | 成人影院观看 | 欧美性白人顶级hd | 人人九九精| caoporen97免费公开视频 | 成人免费国产欧美日韩你懂的 | 日韩免费观看 | 福利视频一区二区思瑞 | 性关系视频免费网站在线观看 | fistingvideos头交尿眼 | 美女沟厕撒尿全过程高清图片 | 欧美日韩综合一区 | 成人免费在线视频 | 天天色踪合合 | 免费看a片毛片 | 99re最新网址|