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";
}
}