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() ; } }