首页 > 其他 > 详细

Goods:生成订单

时间:2015-09-10 11:07:11      阅读:324      评论:0      收藏:0      [点我收藏+]

OrderServlet #createOrder

 1 /*
 2      * 
 3      * 生成订单
 4      */
 5     public String createOrder(HttpServletRequest req, HttpServletResponse resp)
 6             throws ServletException, IOException {
 7         //获取所有购物车条目ID 查询之
 8         String cartItemIds=req.getParameter("cartItemIds");
 9         List<CartItem> cartItemList=cartItemService.loadCartItems(cartItemIds);
10         //创建订单 order
11         Order order=new Order();
12         order.setOid(CommonUtils.uuid());
13     
14         order.setOrdertime(String.format("%tF %<tT", new Date()));  
15         order.setStatus(1);//表示未付款
16         order.setAddress(req.getParameter("address"));
17         User owner=(User) req.getSession().getAttribute("sessionUser");
18         order.setOwner(owner);
19         
20         
21         BigDecimal total=new BigDecimal("0");
22         for(CartItem cartItem:cartItemList)
23         {
24             total=total.add(new BigDecimal(cartItem.getSubtotal()+""));
25         }
26         order.setTotal(total.doubleValue());
27         
28         
29         //创建List<OrderItem>
30         List<OrderItem> orderItemList =new ArrayList<OrderItem>();
31         for(CartItem cartItem:cartItemList)
32         {
33             OrderItem orderItem=new OrderItem();
34             orderItem.setOrderItemId(CommonUtils.uuid()); //设置主键
35             orderItem.setQuantity(cartItem.getQuantity());
36             orderItem.setSubtotal(cartItem.getSubtotal());
37             orderItem.setBook(cartItem.getBook());
38             orderItem.setOrder(order);
39             orderItemList.add(orderItem);
40 
41             
42         }
43             order.setOrderItemList(orderItemList);
44             
45             
46             //调用service完成添加
47             orderService.createOrder(order);
48             
49             //删除购物车条目
50             cartItemService.batchDelete(cartItemIds);
51             //保存订单
52             req.setAttribute("order", order);
53             return "f:/jsps/order/ordersucc.jsp";
54         
55     
56     }

 

OrderDao

public void add(Order order) throws SQLException
    {
        
        //插入订单
        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);
        
        //循环遍历订单的所有条目 让每个条目生成一个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);
    }
    

 

Goods:生成订单

原文:http://www.cnblogs.com/xiaoying1245970347/p/4796990.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!