cart.java

来自「项目是实现网络购物功能」· Java 代码 · 共 61 行

JAVA
61
字号
package com.tarena.shoppingcart.model;

import java.io.Serializable;
import java.util.Collection;
import java.util.HashMap;

public class Cart implements Serializable{
	private HashMap<Integer, Item> items = new HashMap<Integer, Item>();
	
	public void addItem(Product product, int number){
		if(items.containsKey(product.getId())){
			Item item = (Item) items.get(product.getId());
			item.setNumber(item.getNumber()+number);
			item.setCost(product.getPrice()*item.getNumber());
		}else{
			Item item = new Item();
			item.setProduct(product);
			item.setNumber(number);
			item.setCost(number*product.getPrice());
			items.put(product.getId(), item);
		}
	}
	public void modifyNumberByProductId(Integer productId, int number){
		Item item = (Item) items.get(productId);
		item.setNumber(number);
		item.setCost(item.getProduct().getPrice()*number);
	}
	public void deleteItemByProductId(Integer productId){
		items.remove(productId);
	}
	public void deleteItemsByProductId(Integer[] productIds){
		for(Integer id:productIds){
			items.remove(id);
		}
	}
	
	public void clear(){
		items.clear();
	}
	
	public HashMap getCartItem(){
		return items;
	}
	
	public int getItemNumber(){
		return items.size();
	}
	
	public boolean isEmpty(){
		return items.isEmpty();
	}
	
	public double getCost(){
		double cost = 0;
		Collection<Item> c = items.values();
		for(Item i: c){
			cost += i.getCost();
		}
		return cost;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?