B2C网站购物车的封装

来源:互联网 发布:学校网络和信息化建设 编辑:程序博客网 时间:2024/04/29 18:35

购物车

Cart.java

public class Cart {private Map<Integer,CartItem> map=new LinkedHashMap<Integer,CartItem>();private double totalPrice;private Integer totalNum;public void add(Good good,String img_path){CartItem cartItem=map.get(good.getId());if(cartItem!=null){cartItem.setQuantity(cartItem.getQuantity()+good.getNum());}else{cartItem=new CartItem();cartItem.setGood(good);cartItem.setQuantity(good.getNum());cartItem.setSimg_path(img_path);map.put(good.getId(), cartItem);}}public Map<Integer, CartItem> getMap() {return map;}public void setMap(Map<Integer, CartItem> map) {this.map = map;}public double getTotalPrice() {double allPrice=0;for(Map.Entry<Integer, CartItem> me:map.entrySet()){CartItem item=me.getValue();allPrice+=item.getPrice();}this.totalPrice=allPrice;return totalPrice;}public void setTotalPrice(double totalPrice) {this.totalPrice = totalPrice;}public Integer getTotalNum() {Integer allNum=0;for(Map.Entry<Integer, CartItem> me:map.entrySet()){CartItem item=me.getValue();allNum+=item.getQuantity();}this.totalNum=allNum;return totalNum;}}


CartItem.java

public class CartItem {private Good good;private Integer quantity;private double price;private String simg_path;public String getSimg_path() {return simg_path;}public void setSimg_path(String simg_path) {this.simg_path = simg_path;}public Good getGood() {return good;}public void setGood(Good good) {this.good = good;}public Integer getQuantity() {return quantity;}public void setQuantity(Integer quantity) {this.quantity = quantity;this.price=this.good.getPrice()*this.quantity;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}}


购物车的调用

struts2中Action的调用

public String addCart() {if (good != null) {Good fgood = (Good) baseService.getObject(Good.class, "number",good.getNumber());System.out.println(good.getNum());//获取session中的cartHttpServletRequest request = ServletActionContext.getRequest();Cart cart = (Cart) request.getSession().getAttribute("cart");//如果为空表示购物车内没有东西,则创建购物车if (cart == null) {cart = new Cart();request.getSession().setAttribute("cart", cart);}//放入到session里面ServletActionContext.getRequest().getSession().setAttribute("cart", cart);return "addCart";} else {return "addCartfail";}}//删除购物车里面的商品public String deleteCartGood() {HttpServletRequest request = ServletActionContext.getRequest();Cart cart = (Cart) request.getSession().getAttribute("cart");if (cart != null) {cart.getMap().remove(cartkey);}return "addCart";}//改变购物车里面的的商品数量public String changeCartGoodNum() {HttpServletRequest request = ServletActionContext.getRequest();Cart cart = (Cart) request.getSession().getAttribute("cart");System.out.println(cartGoodNum + "------------");if (cart != null) {CartItem item = cart.getMap().get(cartkey);if ("reduce" == cartGoodNum || "reduce".equals(cartGoodNum)) {if (item.getQuantity() <= 1) {item.setQuantity(1);} else {item.setQuantity(item.getQuantity() - 1);}} else if ("add" == cartGoodNum || "add".equals(cartGoodNum)) {if (item.getQuantity() >= 99) {item.setQuantity(99);} else {item.setQuantity(item.getQuantity() + 1);}} else {return "addCartfail";}}return "addCart";}


 

原创粉丝点击