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

本文实例为大家分享了java网上图书商城订单模块的具体代码,供大家参考,具体内容如下

java网上图书商城(7)订单模块2_第1张图片

1.我的订单---查

按用户查询订单
分页查询 PageBean

商品信息 金额 订单状态 操作
订单号:${order.oid } 下单时间:${order.ordertime }
¥${order.total } (等待付款) (准备发货) (等待确认) (交易成功) (已取消) 查看
支付
取消
确认收货
 

2.订单模块之生成订单

OrderServlet

public String createOrder(HttpServletRequest req, HttpServletResponse resp)
 throws ServletException, IOException {
 /*
 * 1. 获取所有购物车条目的id,查询之
 */
 String cartItemIds = req.getParameter("cartItemIds");
 List 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 %
 * 一个CartItem对应一个OrderItem
 */
 List orderItemList = new ArrayList();
 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

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)