首页>代码>java Web开发网络商城购物网站系统-GO购网络商城>/shop/src/com/lyq/action/order/CartAction.java
package com.lyq.action.order;

import java.util.Iterator;
import java.util.Set;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.lyq.action.BaseAction;
import com.lyq.model.order.OrderItem;
import com.lyq.model.product.ProductInfo;
/**
 * 购物车Action
 * @author Li Yongqiang
 */
@Scope("prototype")
@Controller("cartAction")
public class CartAction extends BaseAction {
	private static final long serialVersionUID = 1L;
	// 向购物车中添加商品
	@Override
	public String add() throws Exception {
		if(productId != null && productId > 0){
			// 获取购物车
			Set<OrderItem> cart = getCart();
			// 标记添加的商品是否是同一件商品
			boolean same = false;
			for (OrderItem item : cart) {
				if(item.getProductId() == productId){
					// 购买相同的商品,更新数量
					item.setAmount(item.getAmount() + 1);
					same = true;
				}
			}
			// 不是同一件商品
			if(!same){
				OrderItem item = new OrderItem();
				ProductInfo pro = productDao.load(productId);
				item.setProductId(pro.getId());
				item.setProductName(pro.getName());
				item.setProductPrice(pro.getSellprice());
				item.setProductMarketprice(pro.getMarketprice());
				cart.add(item);
			}
			session.put("cart", cart);
		}
		return LIST;
	}
	// 查看购物车
	public String list() throws Exception {
		return LIST;//返回购物车页面
	}
	// 从购物车中删除商品
	public String delete() throws Exception {
		Set<OrderItem> cart = getCart();// 获取购物车
		// 此处使用Iterator,否则出现java.util.ConcurrentModificationException
		Iterator<OrderItem> it = cart.iterator();
		while(it.hasNext()){//使用迭代器遍历商品订单条目信息
			OrderItem item = it.next();
			if(item.getProductId() == productId){
				it.remove();//移除商品订单条目信息
			}
		}
		session.put("cart", cart);//将清空后的信息重新放入Session中
		return LIST;//返回购物车页面
	}
	// 清空购物车
	public String clear() throws Exception {
		session.remove("cart");
		return LIST;
	}
	
	// 商品id
	private Integer productId;
	public Integer getProductId() {
		return productId;
	}
	public void setProductId(Integer productId) {
		this.productId = productId;
	}
}
最近下载更多
hongdongdong  LV14 2023年12月16日
微信网友_6680567232876544  LV8 2023年10月10日
2036495585  LV9 2023年9月25日
pangxiangdong  LV4 2023年3月12日
xiaowangjj  LV4 2023年2月15日
微信网友_5966087716769792  LV9 2022年9月2日
309681  LV5 2022年5月11日
kuoluoluo  LV3 2022年4月18日
149872g  LV2 2022年3月28日
不停的奔跑  LV20 2022年3月5日
最近浏览更多
lqzixi  LV4 11月6日
949507883  LV1 10月15日
exfhfh  LV1 9月8日
曾显示  LV6 7月7日
lihaixin  LV2 7月1日
qni111111ko 6月19日
暂无贡献等级
dageyi 6月12日
暂无贡献等级
郭宇航裹裹  LV5 6月9日
griseo  LV1 5月10日
qtingchh  LV3 5月3日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友