购物车java对象:
public class Cart {
private List<CartItem> list=new ArrayList<CartItem>();
private int count;
private Double sum;
public List<CartItem> getList() {
return list;
}
public void setList(List<CartItem> list) {
this.list = list;
}
//将商品加入购物车使用该项
public void addCartItem(CartItem item){
if(list!=null&&list.size()>0){
for(CartItem temp : list){
//判断brandProduct是否相同,改写hashcode和equals方法
if(temp.equals(item)){
//添加数量,但是不增加项目
temp.setNum(temp.getNum()+item.getNum());
return;
}
}
}
list.add(item);
}
public int getCount(){
count=0;
if(list!=null&&list.size()>0){
for (CartItem item : list) {
count+=item.getNum();
}
}
return count;
}
public Double getSum(){
sum=0.0;
if(list!=null&&list.size()>0){
for (CartItem item : list) {
sum+=(item.getSku().getPrice())*item.getNum();
}
}
return sum;
}
public void setCount(int count) {
this.count = count;
}
public void setSum(Double sum) {
this.sum = sum;
}
public void updateCartItem(CartItem cartItem) {
if(cartItem.getNum()==0){
//删除该项目
list.remove(cartItem);
return;
}
if(list!=null&&list.size()>0){
for(CartItem temp : list){
//判断brandProduct是否相同,改写hashcode和equals方法
if(temp.equals(cartItem)){
//直接设置数
temp.setNum(cartItem.getNum());
return;
}
}
}
list.add(cartItem);
}
}
public class CartItem implements Serializable{
private static final long serialVersionUID = 1L;
//分店的商品详情加入到购物车中
private Sku sku;
private Integer num;
public Integer getNum() {
return num;
}
public void setNum(Integer num) {
this.num = num;
}
public Sku getSku() {
return sku;
}
public void setSku(Sku sku) {
this.sku = sku;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((sku == null) ? 0 : sku.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
CartItem other = (CartItem) obj;
if (sku == null) {
if (other.sku != null)
return false;
} else if (!sku.getId().equals(other.sku.getId()))
return false;
return true;
}
}