package www.mary.Bean;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import www.mary.access.*;
public class Cart {
	private Map map=Collections.synchronizedMap(new HashMap());//该属性用来存采购的产品项,是按照id号作索引,以nember记录存入多少相同的实例
	public Cart() 
	{
		
	}
	
	public void additem(String itemid,int number){
		//先判断购物车中有没有重复的产品
		boolean is=this.isContain(itemid);
		if(is){
			CarItem caritem=(CarItem)map.get(itemid);
	        caritem.add(number);
		}else{
			 //如果购物车中没有该产品项	
			ItemBean item=PowerAccess.getOneItem(itemid);
	        CarItem caritem=new CarItem(item,number);//?
	        map.put(itemid,caritem);  //?
		}
	}
	
	//这类是判断是否有相同的产品,以itemid作为索引来查询
	public boolean isContain(String itemid){
		return map.containsKey(itemid);
	
	}
	//这里是更行
    public void updateNumber(String itemid,int number)
    {
        CarItem caritem=(CarItem)map.get(itemid);
        caritem.setNumber(number);	
    }
    
    
    public void removeItem(String itemid)
    {
       map.remove(itemid);	
    }
    //得到某种产品项的总价格
    public double getItemTotalPrice(String itemid)
    {
        CarItem caritem=(CarItem)map.get(itemid);  //通过itemid得到map存的实例
        double listprice=caritem.getItem().getLISTPRICE();   //得到价格
        int number=caritem.getNumber();                      //得到数量
        return listprice*number;                             //得到行的总金额
    }  
    public double getTotalPrice()                            //得到列的总金额
    {
       double totalprice=0.0;	                             //如果没有产品,初始值为0.0
       Iterator iter=map.values().iterator();	             //迭代展现map
       while(iter.hasNext())
       {
    	  CarItem caritem=(CarItem)iter.next();              //得到cartitem实例
          double listprice=caritem.getItem().getLISTPRICE(); //先得到行的总金额
    	  int    number=caritem.getNumber();                 //再得到每行的数量
    	  totalprice+=listprice*number;                      //然后随着循环累加金额
       }
       return totalprice;
    }
	public Map getMap() {
		return map;
	}
}
最近下载更多
                
                rebest     LV2
                2024年12月27日
            
            
        
                23120450     LV1
                2024年6月18日
            
            
        
                郭宇航裹裹     LV5
                2024年6月8日
            
            
        
                微信网友_7005760998215680     LV6
                2024年5月23日
            
            
        
                statics     LV1
                2024年5月7日
            
            
        
                xiaotang156     LV2
                2023年11月25日
            
            
        
                2036495585     LV9
                2023年9月25日
            
            
        
                天士大夫     LV2
                2023年5月25日
            
            
        
                1004233692     LV1
                2023年4月20日
            
            
        
                itlaolang     LV6
                2023年3月10日
            
            
        
最近浏览更多
                
                11999333     LV3
                6月12日
            
            
        
                vincemokea     LV9
                4月24日
            
            
        
                rebest     LV2
                2024年12月27日
            
            
        
                微信网友_7313058229293056    
                2024年12月26日
            
            
                    暂无贡献等级
            
        
                fankech     LV1
                2024年11月4日
            
            
        
                zmj040202     LV2
                2024年10月28日
            
            
        
                yanghu1632     LV1
                2024年8月9日
            
            
        
                微信网友_7043154826989568     LV1
                2024年6月18日
            
            
        
                微信网友_6992940666048512     LV1
                2024年6月18日
            
            
        
                23120450     LV1
                2024年6月18日
            
            
        
                
                