gpt4 book ai didi

java网上图书商城(7)订单模块2

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章java网上图书商城(7)订单模块2由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例为大家分享了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);
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.

最后此篇关于java网上图书商城(7)订单模块2的文章就讲到这里了,如果你想了解更多关于java网上图书商城(7)订单模块2的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com