ebook中的购物车

public class OrderBook
{
    //定义一个图书列表
    private List itemOrders =new ArrayList();
 
    
    public float getTotalprice()
    {
       
        float totalprice=0;
        //定义一个订单
        ItemOrder item=null;
        //遍历集合
        for (int i = 0; i < itemOrders.size(); i++)
        {
            //取出当前订单
           item =(ItemOrder)itemOrders.get(i); 
           totalprice+=item.getNum()*item.getItem().getPrice();
        }
        return totalprice;
    }

    //取出订单列表
    public List getItemOrders()
    {
        return itemOrders;
    }
   
    public void deleteItem(String itemId,String op) throws NumberFormatException, SQLException
    {
        //定义一个订单
        ItemOrder item=null;
        //遍历集合
        for (int i = 0; i < itemOrders.size(); i++)
        {
            //取出当前订单
           item =(ItemOrder)itemOrders.get(i); 
           //判断当前的图书编号是否与马上要添加的图书的编号相同
           if(itemId.equals(String.valueOf(item.getItem().getId())))
             {
               if("0".equals(op))
               {
                   item.setNum(item.getNum()-1); 
                   if(item.getNum()==0)
                   {
                       itemOrders.remove(item);
                   }
               }
               else if("1".equals(op))
               {
                   itemOrders.remove(item);  
               }
      
        
             }
        }
    }
    
    //创建一个函数,实现向购物车添加商品的功能
     public void addItem(String itemId) throws NumberFormatException, SQLException
    {
         //定义一个订单
        ItemOrder item=null;
        //遍历集合
        for (int i = 0; i < itemOrders.size(); i++)
        {
            //取出当前订单
           item =(ItemOrder)itemOrders.get(i); 
           //判断当前的图书编号是否与马上要添加的图书的编号相同
           if(itemId.equals(String.valueOf(item.getItem().getId())))
             {
               //将当前订单的数量+1
               item.setNum(item.getNum()+1);
                return;
             }
        }
        BookDAO bookdao = new BookDAO();
        BookBean bookbean =bookdao.getBookById(itemId);
        ItemOrder newitem = new ItemOrder(bookbean);
        itemOrders.add(newitem);
       
     }
}

 

 

public class BookAction
{
    public String getBookInfoList(HttpServletRequest req, HttpServletResponse resp)
    {
       // 分析当前页码
        String pageString=req.getParameter("page");
        if(pageString == null || pageString.length() == 0) {
            pageString = "1";
        }
        int currentPage= 0 ;
        try {
            currentPage = Integer.parseInt(pageString);// 当前页码
        } catch(Exception e) {}

        if(currentPage == 0) {
            currentPage = 1;
        }

        int pageSize = 6;//每页显示的数据数
        // 读取数据
        BookManager manager = new BookManager();
        PageModel<BookBean> pageModel = manager.findPagedAll(currentPage, pageSize);
        BookDAO bookdao = new BookDAO();
        List bookList= bookdao.getAllBook();
        //将该集合存入request作用域
        req.setAttribute("pageModel",pageModel);
        req.setAttribute("bookList",bookList);
        return "bookinfo";
    }
    
    public String getBookCartList(HttpServletRequest req, HttpServletResponse resp)
    {
        HttpSession session =req.getSession();
        //从session中获取该购物车对象
         OrderBook cart= (OrderBook)session.getAttribute("shoppingcart");
         if(cart==null)
         {
             //初始化该购物车
             cart = new OrderBook();
            session.setAttribute("shoppingcart",cart);
         }
         //获取表单中的当前图书的图书编号
        String itemId = req.getParameter("itemId");
         //向购物车中添加图书
         try
         {
             cart.addItem(itemId);
         }
         catch (Exception e)
         {

             e.printStackTrace();
         }
        List items=cart.getItemOrders();
        float totalprice =cart.getTotalprice();
        session.setAttribute("items",items);
        session.setAttribute("totalprice", totalprice);
        return "orderprocess";
    }
    
    public String deleteBookCartList(HttpServletRequest req, HttpServletResponse resp)
    {  String op =req.getParameter("op");
    HttpSession session =req.getSession();
    //从session中获取该购物车对象
     OrderBook cart= (OrderBook)session.getAttribute("shoppingcart");
     if(cart==null)
     {
         //初始化该购物车
         cart = new OrderBook();
        session.setAttribute("shoppingcart",cart);
     }
     //获取表单中的当前要删除的图书编号
    String itemId = req.getParameter("deleteBookId");
     try
    {
        cart.deleteItem(itemId, op);
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
 
   
    List items=cart.getItemOrders();
    float totalprice =cart.getTotalprice();
    session.setAttribute("items",items);
    session.setAttribute("totalprice", totalprice);
     return "deleteprocess";
    }
}

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值