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

📄 cartservice.java

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

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

import com.eshop.vo.CartItem;
import com.eshop.vo.Item;

public class CartService {

	private Map shopCart = new HashMap();
	
	public Map getShopCart(){
		return this.shopCart;
		
	}
	/**
	 * 添加商品条目
	 * @author jonson
	 *
	 */
	 public void addItem(Item item) {
		    CartItem cartItem = (CartItem) shopCart.get(item.getItemid());
		    if (cartItem == null) {
		      cartItem = new CartItem();
		      cartItem.setItem(item);
		      cartItem.setQuantity(0);
		      shopCart.put(item.getItemid(), cartItem);
		    }
		    cartItem.incrementQuantity();
		  }
	
	 /**
	  * 删除商品条目
	  * @author jonson
	  *
	  */
	  public Item removeItemById(String itemId) {
	    CartItem cartItem = (CartItem) shopCart.remove(itemId);
	    if (cartItem == null) {
	      return null;
	    } else {
	      return cartItem.getItem();
	    }
	  }
	  /**
	   * 增加商品条目
	   * @author jonson
	   *
	   */
	  public void incrementQuantityByItemId(String itemId) {
	    CartItem cartItem = (CartItem) shopCart.get(itemId);
	    cartItem.incrementQuantity();
	  }
	  /**
	   * 设置购物车中商品的数量
	 * @param itemId 商品ID
	 * @param quantity 购物车中商品的数量
	 */
	public void setQuantityByItemId(String itemId, int quantity) {
	    CartItem cartItem = (CartItem) shopCart.get(itemId);
	    if(cartItem!=null){
	    	cartItem.setQuantity(quantity);
	    }
	  }
	  
	  /**
	   * 计算部价格
	 * @return
	 */
	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;
	  }	  
	/**
	 * 获得所有cartItem
	 * @author jonson
	 *
	 */ 
	 public Iterator getCartItems() {
		    return shopCart.values().iterator();
		  }
	  /**
	   * 获得商品总数
	   * @return
	 */
	public int getNumberOfItems() {
	    return shopCart.size();
	  }
	
	  /**
	   * 判断是否包含某个Item
	   * @param itemId
	   * @return
	 */
	public boolean containsItemId(String itemId) {
	    return shopCart.containsKey(itemId);
	  }
	
}

⌨️ 快捷键说明

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