⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cart.java

📁 使用jsp+Servlet,采用MVC模式,实现了一典型小型电子商务网站的全过程.包括前台和后台的全部功能.适合于初学者学习使用.
💻 JAVA
字号:
/**
 * 
 */
package com.eshop.vo;

import java.math.BigDecimal;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import com.eshop.vo.Item;



/**
 * 购物车对象,保存客户的商品
 * @author jonson
 *
 */
public class Cart {
	 /* Private Fields */
	  /** 购物车中所有的商品信息都保存在Map中**/
	  private final Map itemMap = Collections.synchronizedMap(new HashMap());
//	  private List list=new ArrayList();
	  /* Public Methods */
	  /** 获得所有cartItem**/
	  public Iterator getCartItems() {
	    return itemMap.values().iterator();
	  }
	 /** 获得Item的总数**/
	  public int getNumberOfItems() {
	    return itemMap.size();
	  }
	  /** 是否包含某个Item**/
	  public boolean containsItemId(String itemId) {
	    return itemMap.containsKey(itemId);
	  }
	  
	  /** 增加Item**/
	  public void addItem(Item item) {
	    CartItem cartItem = (CartItem) itemMap.get(item.getItemid());
	    if (cartItem == null) {
	      cartItem = new CartItem();
	      cartItem.setItem(item);
	      cartItem.setQuantity(0);
	      itemMap.put(item.getItemid(), cartItem);
	    }
	    cartItem.incrementQuantity();
	  }

	  /**删除Item**/
	  public Item removeItemById(String itemId) {
	    CartItem cartItem = (CartItem) itemMap.remove(itemId);
	    if (cartItem == null) {
	      return null;
	    } else {
	      return cartItem.getItem();
	    }
	  }
	  
	  /**增加Item的数量*/ 
	  public void incrementQuantityByItemId(String itemId) {
	    CartItem cartItem = (CartItem) itemMap.get(itemId);
	    cartItem.incrementQuantity();
	  }
	  /** 设置Item的数量**/
	  public void setQuantityByItemId(String itemId, int quantity) {
	    CartItem cartItem = (CartItem) itemMap.get(itemId);
	    cartItem.setQuantity(quantity);
	  }
	  /** 计算价格**/
	  public BigDecimal getSubTotal() {
	    BigDecimal subTotal = new BigDecimal("0");
	    Iterator items = getCartItems();
	    while (items.hasNext()) {
	      CartItem cartItem = (CartItem) items.next();
	      Item item = cartItem.getItem();
	      BigDecimal listPrice = new BigDecimal(item.getListprice());
	      BigDecimal quantity = new BigDecimal(String.valueOf(cartItem.getQuantity()));
	      subTotal = subTotal.add(listPrice.multiply(quantity));
	    }
	    return subTotal;
	  }

}

⌨️ 快捷键说明

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