📄 cart.java
字号:
package com.sush.webstore.store.domain.beans;
import java.util.ArrayList;
import java.util.List;
import com.sush.webstore.store.domain.ICart;
import com.sush.webstore.store.domain.IItem;
import com.sush.webstore.store.domain.IProduct;
public class Cart implements ICart {
private List<CartProduct> products = new ArrayList<CartProduct>();
private List<Item> items = new ArrayList<Item>();
/**
* @return the products
*/
public List<CartProduct> getProducts() {
return products;
}
/**
* @param products
* the products to set
*/
public void setProducts(List<CartProduct> products) {
this.products = products;
}
/**
* @return the items
*/
public List<Item> getItems() {
return items;
}
/**
* @param items
* the items to set
*/
public void setItems(List<Item> items) {
this.items = items;
}
public boolean addProduct(IProduct product, long quantity) {
if (quantity < 1)
return false;
CartProduct cartProduct = getCartProduct(product);
if (cartProduct != null) {
cartProduct.setQuantity(quantity + cartProduct.getQuantity());
return true;
}
this.products.add(new CartProduct((Product) product, quantity));
return true;
}
public boolean setProductQuantity(IProduct product, long quantity) {
CartProduct cartProduct = getCartProduct(product);
if (cartProduct == null)
return false;
if (quantity < 1)
return false;
cartProduct.setQuantity(quantity);
return true;
}
public boolean removeProduct(IProduct product) {
CartProduct cartProduct = getCartProduct(product);
if (cartProduct == null)
return false;
this.products.remove(cartProduct);
return true;
}
private CartProduct getCartProduct(IProduct product) {
for (CartProduct cartProduct : products) {
if (cartProduct.getProduct().getId() == product.getId())
return cartProduct;
}
return null;
}
public boolean addItem(IItem item) {
if (getCartItem(item) != null)
return true;
this.items.add((Item) item);
return true;
}
public boolean removeItem(IItem item) {
IItem item1 = getCartItem(item);
if (item1 == null)
return false;
this.items.remove(item1);
return true;
}
private IItem getCartItem(IItem item) {
for (IItem theItem : items) {
if (theItem.getId() == item.getId())
return theItem;
}
return null;
}
/**
* @return the itemCount
*/
public Integer getItemCount() {
return items.size() + products.size();
}
/**
* @return the itemTotal
*/
public Double getItemTotal() {
Double itemTotal = 0d;
for (IItem item : items) {
itemTotal += item.getPrice();
}
for (CartProduct cartProduct : products) {
itemTotal += cartProduct.getQuantity()
* cartProduct.getProduct().getCost();
}
return itemTotal;
}
public List<Long> getProductIDs() {
List<Long> list = new ArrayList<Long>();
for (CartProduct cartProduct : products) {
list.add(cartProduct.getProduct().getId());
}
return list;
}
public boolean setProductQuantity(Long productID, long quantity) {
for (CartProduct cartProduct : products) {
if (cartProduct.getProduct().getId() == productID)
cartProduct.setQuantity(quantity);
}
return false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -