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

📄 shopcart.java

📁 网上购物系统
💻 JAVA
字号:
/**
  * @(#)tarena.action.OrderOperation.java  2008-11-5  
  * Copy Right Information	: Tarena
  * Project					: xindou
  * JDK version used		: jdk1.6.4
  * Comments				: 订单操作类。
  * Version					: 1.0
  * Sr	Date		Modified By		Why & What is modified
  * 1.  2008-11-14  陈达				新建
  **/
package tarena.entity;

import tarena.global.Transform;



/**
 * 抽象的购物车类。
 * 由购物车页面的商品、商品颜色、商品个数抽象而成。
 */
public class Shopcart {
	/**
	 * 商品
	 */
	private Product product;
	/**
	 * 商品颜色
	 */
	private Color color;
	/**
	 * 商品数量
	 */
	private Integer amount;
	/**
	 * 商品价格小计
	 */
	private Double  subtotal;
	
	/**
	 * 空构造器
	 */
	public Shopcart(){}
			
	/**
	 * 根据指定的商品、商品颜色和商品数量构造一个购物车对象。
	 * @param pid	商品
	 * @param cid	商品颜色
	 * @param amount 商品数量
	 */	
	public Shopcart(Product product, Color color, Integer amount) {
		this.product = product;
		this.color = color;
		if(amount==null){			
			this.amount = 1;
		}else{
			this.amount = amount;
		}
	}	
	
	/**
	 * 根据指定的商品和商品颜色构造一个购物车对象。
	 * @param pid	商品
	 * @param cid	商品颜色
	 */	
	public Shopcart(Product product, Color color) {
		this(product,color,1);
	}

	
	
	public Double getSubtotal() {
		return product.getPrice()*this.amount;
	}
	
	public Double getFormatSubtotal(){		
		return Transform.getFormatNumber(getSubtotal(), 2, false);
	}

	public Product getProduct() {
		return product;
	}
	public void setProduct(Product product) {
		this.product = product;
	}
	public Integer getAmount() {
		if(this.amount==null){
			this.amount=1;
		}
		return amount;
	}
	public void setAmount(Integer amount) {
		this.amount = amount;
	}
	public Color getColor() {
		return color;
	}
	public void setColor(Color color) {
		this.color = color;
	}
	
	/**
	 * 覆盖的equals方法。
	 * 按商品id和颜色id比较。
	 */
	@Override
	public boolean equals(Object obj) {
		if(!(obj instanceof Shopcart)){
			return false;
		}
		Shopcart cart = (Shopcart)obj;
		//如果商品为空
		if(cart.product==null) return false;
		//如果商品id不等
		if(!cart.product.getId().equals(this.product.getId())) return false;
		//如果商品颜色都为空
		if(cart.color==null&&this.color==null) return true;
		//如果一个有颜色,一个没有颜色
		/*if((cart.color!=null&&this.color==null)||(cart.color==null&&this.color!=null)) return false;
		if(cart.color.getId().equals(this.color.getId())) return true;*/
		if((cart.color!=null&&this.color!=null)&&(cart.color.getId().equals(this.color.getId()))) return true;
			
		return false;
	}
	
	public String toString(){
		StringBuffer re = new StringBuffer();
		if(this.product==null){
			return null;
		}
		re.append(this.product.getId());
		re.append(",");
		if(this.color!=null){
			re.append(color.getId());
		}else{
			re.append("0");
		}
		re.append(",");	
		if(this.amount!=null){
			re.append(this.amount);
		}else{			
			re.append(1);
		}
		return re.toString();
	}
	
}

⌨️ 快捷键说明

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