zoukankan      html  css  js  c++  java
  • Goods:生成订单

    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);
        }
        
  • 相关阅读:
    [转载]ASP.NET Core 之 Identity 入门(一)
    ABP框架使用(版本3.3.1)
    [转载]ABP 结合 MongoDB 集成依赖注入
    [转载]初识ABP vNext(4):vue用户登录&菜单权限
    【转载】ASP.NET Core中如何显示[PII is hidden]的隐藏信息
    [转载]超简单本地mock假数据测试,模拟后台数据返回必杀技
    Git 分支简介、Git 和 GitHub 日常操作
    重载++运算符为成员函数(日期类函数设计也可以看一下 )
    重载操作符(cin cout 都在这篇文章里出现了 注意区别)
    重载操作符(日期类)
  • 原文地址:https://www.cnblogs.com/xiaoying1245970347/p/4796990.html
Copyright © 2011-2022 走看看