package net.chp.util;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import net.chp.entity.Item;
/**
* 购物车工具类
* @author admin
*
*/
public class CartUtil {
private Map<Integer,Item> cartMap = null; //保存Product的Map
/**
* 购物车构造函数
*/
public CartUtil(){
cartMap = new HashMap<Integer,Item>();
}
/**
* 取得存放产品的cartMap
*/
public Map<Integer,Item> getCartMap(){
return this.cartMap;
}
/**
* 向购物车中添加产品
*/
public void addItem(int bookId){
// System.out.println(existItem(bookId));
if(existItem(bookId)){ // 产品已存在则增加数量
Item item = cartMap.get(bookId);
item.setBookCount(item.getBookCount() + 1);
System.out.println("书籍数量:" + item.getBookCount());
}
else{ // 否则新加入该产品
Item item = new Item(bookId);
cartMap.put(bookId, item);
System.out.println("书籍数量:" + item.getBookCount());
}
}
/**
* 检查购物车里是否已存在该产品
*/
public boolean existItem(int bookId){
Iterator<Integer> it = cartMap.keySet().iterator();
while(it.hasNext()){
int bId = it.next();
if(bId == bookId){
return true;
}
}
return false;
}
/**
* 从购物车中移除指定产品
*/
public void delItem(int bookId){
cartMap.remove(bookId);
}
/**
* 获取购物车产品数量
*/
public int getBookCount(){
int bookCount = 0;
Iterator<Item> entry = cartMap.values().iterator();
while(entry.hasNext()){
bookCount += entry.next().getBookCount();
}
System.out.println(bookCount);
return bookCount;
}
/**
* 统计购物车商品总价
*/
public double getTotalprice(){
double totalPrice = 0.0;
Iterator<Integer> hmkey = cartMap.keySet().iterator();
Item item = null;
while(hmkey.hasNext()){
item = cartMap.get(hmkey.next());
totalPrice += item.getBook().getPrice()*item.getBookCount();
}
return totalPrice;
}
/**
* 清空购物车
*/
public void clearCart(){
cartMap.clear();
}
}
重楼之泪
- 粉丝: 3
- 资源: 7
会员权益专享
最新资源
- 第4次作业_计算税后工资.cpp
- 校园管理 - 学生管理系统源码
- 1047538782469312MOJiRead_channel_google_code_1.5.5_60_20230314182834_NO-HW_release.apk
- stm32的nucleo开发板点亮LED的汇编程序
- WPSOffice-v17.3.2(1394)-v8a,v7a-Balatan.apk
- python练习题代码参考-职工管理系统
- python读取某文件夹下的所有文件名将读出的文件名输出到CSV文件
- Sparse_Identification_Part2.mlx
- python斐波那契数列
- python非递归方式计算阶乘(循环)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


