📄 shopcart.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 + -