抽取购物车模型
简单分析
购物项:(图片路径,商品名称,商品价格,这类商品购买的数量,这类商品总价小计)
class CartItem{ private Product product; //携带图片路径,商品名称,商品价格 private int num; //当前类别商品的数量 private double subTotal;//小计,当前这类商品总共价格 经过计算获取到 }
购物车(个数不确定的购物项)
class Cart{ List list=new ArrayList(); //个数不确定的购物项 Map map=new HashMap(); //个数不确定的购物项 double total; //总计/积分 可以经过计算获取到 方法:清空购物车 方法:移除购物车上的购物项 方法:添加商品到购物车 }
总结:
购物项(商品对象,数量,小计) 小计经过计算获取
购物车(2个属性3个方法)
2个属性: Map
Total:总计
3个方法
清空购物车 移除购物项 添加购物项到购物车
总计是经过计算获取到的
具体实现
在domain包下创建一个类CartItem
package com.geekerstar.store.domain; public class CartItem { private Product product;//目的携带购物项3种参数(图片路径,商品名称,商品价格) private int num;//当前类别商品数量 private double subTotal;//小计 //小计是经过计算可以获取到的 public double getSubTotal() { return product.getShop_price()*num; } public Product getProduct() { return product; } public void setProduct(Product product) { this.product = product; } public int getNum() { return num; } public void setNum(int num) { this.num = num; } public void setSubTotal(double subTotal) { this.subTotal = subTotal; } }
再在domain目录下新建一个购物车Cart
package com.geekerstar.store.domain; import java.util.Collection; import java.util.HashMap; import java.util.Map; //2个属性3个方法 public class Cart { //总计/积分 private double total=0; //个数不确定的购物项 商品pid<===>CartItem Mapmap=new HashMap (); //添加购物项到购物车 //当用户点击加入购物车按钮,可以将当前要购买的商品id,商品数量发送到服务端,服务端根据商品id查询到商品信息 //有了商品信息Product对象,有了要购买商品数量,当前的购物项也就可以获取到了 public void addCartItemToCar(CartItem cartItem){ //获取到正在想购物车中添加的商品pid String pid=cartItem.getProduct().getPid(); //将当前的购物项加入购物车之前,判断之前是否买过这类商品 //如果没有买过 list.add(cartItem); //如果买过: 获取到原先的数量,获取到本次的数量,相加之后设置到原先购物项上 if(map.containsKey(pid)){ //获取到原先的购物项 CartItem oldItem=map.get(pid); oldItem.setNum(oldItem.getNum()+cartItem.getNum()); }else{ map.put(pid, cartItem); } } //移除购物项 public void removeCartItem(String pid){ map.remove(pid); } //清空购物车 public void clearCart(){ map.clear(); } //总计是可以经过计算获取到 public double getTotal() { //向让总计请0 total=0; //获取到Map中所有的购物项 Collection values = map.values(); //遍历所有的购物项,将购物项上的小计相加 for (CartItem cartItem : values) { total+=cartItem.getSubTotal(); } return total; } public void setTotal(double total) { this.total = total; } public Map getMap() { return map; } public void setMap(Map map) { this.map = map; } }
至此完成购物车抽取工作,下一节继续完善购物车功能。
源码下载
[dm href=’https://www.geekerstar.com/product/1700.html’]下载地址[/dm]
导航目录
[dm href=’https://www.geekerstar.com/project/2786.html’]查看导航[/dm]
本站所有文章均由网友分享,仅用于参考学习用,请勿直接转载,如有侵权,请联系网站客服删除相关文章。若由于商用引起版权纠纷,一切责任均由使用者承担
极客文库 » Javaweb网上商城项目实战(19)抽取购物模型
极客文库 » Javaweb网上商城项目实战(19)抽取购物模型
常见问题FAQ
- 如果资源链接失效了怎么办?
- 本站用户分享的所有资源都有自动备份机制,如果资源链接失效,请联系本站客服QQ:2580505920更新资源地址。
- 如果用户分享的资源与描述不符怎么办?
- 如何分享个人资源获取赞助积分或其他奖励?
- 如果您发现了本资源有侵权行为怎么办?