Goods:生成订单
2015-09-10 10:26
447 查看
OrderServlet #createOrder
OrderDao
/* * * 生成订单 */ public String createOrder(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //获取所有购物车条目ID 查询之 String cartItemIds=req.getParameter("cartItemIds"); List<CartItem> cartItemList=cartItemService.loadCartItems(cartItemIds); //创建订单 order Order order=new Order(); order.setOid(CommonUtils.uuid()); order.setOrdertime(String.format("%tF %<tT", new Date())); order.setStatus(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()); //创建List<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); //调用service完成添加 orderService.createOrder(order); //删除购物车条目 cartItemService.batchDelete(cartItemIds); //保存订单 req.setAttribute("order", order); return "f:/jsps/order/ordersucc.jsp"; }
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); }
相关文章推荐
- 015.8.3 第八堂 用block实现租房+category类别
- 利用 Google Translate 访问被禁网页
- django常用命令
- Django1.8教程重点
- SPNEGO, NTLM and Kerberos
- GO数组和切片
- nyoj 635 Oh, my goddess 【bfs(简单题)】
- hdu4722 Good Numbers(数位dp)
- UVA 11090 Going in Cycle!!
- HDU 3966 Aragorn's Story(树链剖分)
- Google反编译新工具——Enjarify
- POJ 2195 Going Home
- pymongo 模块分析
- 开启激活google now
- 【4连WA】【Usaco Oct08 Gold】奶牛串门(Pasture Walking)
- GO语言学习 一些经验
- 最新 IntelliJ Idea 14 安装 Golang 插件 google-go-lang-idea-plugin 的方法
- ZYgote
- [Django高级]理解django中的中间件机制和执行顺序
- [Django高级]理解django中的中间件机制和执行顺序