JSP 购物车实例

package fafa.shop.service;

import java.util.*;

import fafa.shop.doamin.Book;

public class MyCart {
	//定义hashmap接收书
	HashMap<String, Book> hm = new HashMap<String, Book>() ;
	
	public void addBook2(String id){
		if (hm.containsKey(id)){//判断此ID是否存在
			Book book = hm.get(id) ; //其实拿出来的是前一本书 修改购买数量
			int shoppingNum = book.getShoppingNum() ;
			book.setShoppingNum(shoppingNum + 1) ;
		}else{
			hm.put(id, new BookService().getBookById(id)) ; //如果是第一本书则直接加入HashMap
		}
	}
	
	//添加书
	public void addBook(String id, Book book){
		if (hm.containsKey(id)){ //判断此ID是否存在
			book = hm.get(id) ; //其实拿出来的是前一本书 修改购买数量
			//如果购物车中存在这本书 ,那么则把购买数量加1
			int shoppingNum = book.getShoppingNum() ;
			book.setShoppingNum(shoppingNum + 1) ;
		}else{
			hm.put(id, book) ;
		}
	}
	//删除书
	public void delBook(String id){
		hm.remove(id) ;
 	}
	//更新书
	public void updateBook(String id, String nums){
		
	}
	
	//显示购物车中的所有商品
	public ArrayList<Book> showMycart(){
		Iterator<String> iter = hm.keySet().iterator() ;
		ArrayList<Book> all = new ArrayList<Book>() ;
		while(iter.hasNext()){
			String key = (String) iter.next() ;
			Book book = hm.get(key) ;
			all.add(book) ;
		}
		return all ;
	}
	
	//计算总价
	public float getTotalPrice(){
		float totalPrice = 0.0f ;
		Iterator<String> iterator = hm.keySet().iterator() ;
		while(iterator.hasNext()){
			String bookId = (String) iterator.next() ;
			Book book = hm.get(bookId) ;
			totalPrice += book.getPrice() * book.getShoppingNum() ;
		}
		return totalPrice;
	}
	
	
	
	//清空购物车
	public void clearBook(){
		hm.clear() ;
	}
}

  

posted @ 2012-11-11 10:59  dafa168  阅读(410)  评论(0编辑  收藏  举报