📄 shoppingcart.java
字号:
package com.bluesky.elecall.domain.cart;import java.math.BigDecimal;import java.util.Iterator;import java.util.Map;import java.util.TreeMap;import com.bluesky.elecall.domain.Product;public class ShoppingCart { private Map items; //capacity - items.size = empty line count private int capacity; public int getCapacity() { return capacity; } public void setCapacity(int capacity) { this.capacity = capacity; } public ShoppingCart(){ items = new TreeMap<String,CartItem>(); capacity=5; } public Map getItems() { return items; } public void setItems(Map items) { this.items = items; } public void addItem(String productId,long quantity, Product product){ CartItem ci = (CartItem)items.get(productId); if(ci==null) { CartItem newItem = new CartItem(productId,quantity); newItem.setProduct(product); items.put(productId, newItem); } else ci.increaseQuantity(quantity); } public long getTotalQuantity(){ long sum=0; Iterator it = items.values().iterator(); while(it.hasNext()){ CartItem ci = (CartItem)it.next(); if(ci.isValid()) sum += ci.getQuantity(); } return sum; } public BigDecimal getTotalAmount(){ BigDecimal sum= BigDecimal.ZERO; Iterator it = items.values().iterator(); while(it.hasNext()){ CartItem ci = (CartItem)it.next(); if(ci.isValid()) sum = sum.add( ci.getAmount()); } return sum; } public void removeItem(String productId){ if(items.containsKey(productId)) items.remove(productId); } public void increaseCapacity(int count){ capacity += count; } public void removeBlankRows(){ capacity = items.size(); } public void clear(){ items.clear(); } public void removeInvalidItems(){ Iterator<CartItem> it = items.values().iterator(); while(it.hasNext()) { CartItem ci = it.next(); if(!ci.isValid()) it.remove(); } } public boolean getIsValid(){ return isValid(); } public boolean isValid(){ Iterator<CartItem> it = items.values().iterator(); while(it.hasNext()){ CartItem ci = it.next(); if(!ci.isValid()) return false; } return true; } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -