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

📄 cart.java

📁 网上购物系统,相信看后会有很大收获,用java,jsp,servlet编写
💻 JAVA
字号:
package test.models;

import java.util.HashMap;
import java.io.*;
import java.math.*;
import java.util.*;

/**
 *Cart代表了购物车,提供了访问CartItem的方法
 */
public class Cart{

  /* Private Fields */

  private HashMap itemMap;
  private Collection items;
  private CartItem cartItem = new CartItem();

public Cart()
{
  itemMap = new HashMap();
}
  public int getItemSize() {
    return itemMap.size();
  }

  /* Public Methods */

  public boolean containsItemId(String itemId) {
    return itemMap.containsKey(itemId);
  }

  /**
   *往购物车中增加一个item。
   */
  public void addItem(Item item, boolean isInStock) {
    try {
      cartItem = (CartItem) itemMap.get(item.getItemId());
      if (cartItem == null) {
        cartItem = new CartItem();
        cartItem.setItem(item);
        cartItem.setQuantity(0);
        cartItem.setInStock(isInStock);
        itemMap.put(item.getItemId(), cartItem);
        items = itemMap.values();

      }
      else {
        System.out.println("addItem---" + item.getItemId());
      }
      cartItem.incrementQuantity();
    }
    catch (Exception e) {
      System.out.println(e.getMessage());
      e.printStackTrace();
    }
  }

  /**
   *删除购物车中指定itemid的item
   */
  public void removeItemById(String itemId) {
    if(itemMap.containsKey(itemId))
      itemMap.remove(itemId);
    else{
      System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
    }
    items=itemMap.values();

    System.out.println(items);
  }

//  public Item removeItemById(String itemId) {
//    cartItem = (CartItem) itemMap.remove(itemId);
//    System.out.println(cartItem + " CartItem");
//    if (cartItem == null) {
//      return null;
//    }
//    else {
//      items = itemMap.values();
//      return cartItem.getItem();
//    }
//  }

  /**
   *使指定itemid的item数量加1
   */
  public void incrementQuantityByItemId(String itemId) {
    cartItem = (CartItem) itemMap.get(itemId);
    cartItem.incrementQuantity();
  }

  /**
   *重新设置item的数量
   */
  public void setQuantityByItemId(String itemId, int quantity) {
    try {
      cartItem = (CartItem) itemMap.get(new String(itemId));
      cartItem.setQuantity(quantity);

    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }

  /**
   *计算购物车中商品总金额
   */
  public BigDecimal getSubTotal() {
    BigDecimal subTotal = new BigDecimal("0");
    Iterator items = getAllCartItems();
    while (items.hasNext()) {
      cartItem = (CartItem) items.next();
      Item item = cartItem.getItem();
      BigDecimal listPrice = item.getListPrice();
      BigDecimal quantity = new BigDecimal(String.valueOf(cartItem.getQuantity()));
      subTotal = subTotal.add(listPrice.multiply(quantity));
    }
    return subTotal;
  }

  /**
   *清空购物车
   */
  public void clear() {
    itemMap.clear();
  }

  public Iterator getAllCartItems() {
    return itemMap.values().iterator();
  }

  /**
   *属性方法,设置items
   */
  public void setItems(Collection items) {
    this.items = items;
  }

  /**
   *属性方法,获得所有的items
   */
  public Collection getItems() {
    return items;
  }

}

⌨️ 快捷键说明

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