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; } }
最近下载更多
23120450 LV1
6月18日
郭宇航裹裹 LV5
6月8日
微信网友_7005760998215680 LV6
5月23日
statics LV1
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日
15342201772 LV9
2022年12月4日
最近浏览更多
fankech LV1
11月4日
zmj040202 LV1
10月28日
yanghu1632 LV1
8月9日
微信网友_7043154826989568 LV1
6月18日
微信网友_6992940666048512 LV1
6月18日
23120450 LV1
6月18日
郭宇航裹裹 LV5
6月7日
微信网友_7005760998215680 LV6
5月23日
xiao1111 LV3
5月16日
baining LV1
5月8日