cookie中存放购物车(一)

购物车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);		
	}
}



购物车每个项目的java对象:

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;
	}
}



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值