首页>代码>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  LV12 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日
最近浏览更多
zrz666  LV1 19分钟前
刘孟飞  LV19 3月29日
heshao  LV2 1月11日
a2418735612  LV1 1月4日
1765281247 1月2日
暂无贡献等级
asddwh  LV12 2023年12月26日
1601547803  LV1 2023年12月26日
2517958616  LV1 2023年12月26日
qxs110  LV1 2023年12月25日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友