购物车
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中的cart
HttpServletRequest 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";
}
本文详细阐述了购物车在电子商务平台中的实现机制,包括商品添加、获取购物车信息、总价计算、商品数量修改等功能,并通过Struts2框架进行调用。
837

被折叠的 条评论
为什么被折叠?



