package com.itbaizhan.service; import javax.servlet.http.HttpSession; import org.directwebremoting.WebContext; import org.directwebremoting.WebContextFactory; import com.itbaizhan.util.Cart; /** * 购物车服务类 (cartService) * * 该类提供了对购物车的操作方法,包括修改商品数量、删除购物车中的商品以及清空购物车等功能。 * 它通过使用 session 来保存和管理用户的购物车信息。 */ public class cartService { /** * 修改购物车中商品的数量 * * @param goodsId 商品ID * @param quantity 新的商品数量 * @return 操作结果的字符串 ("yes" 表示成功) */ public String modiNum(String goodsId, int quantity) { String result = ""; // 初始化操作结果为空 // 获取 WebContext 上下文 WebContext ctx = WebContextFactory.get(); // 通过 DWR (Direct Web Remoting) 获取 WebContext HttpSession session = ctx.getSession(); // 获取当前会话对象 // 获取购物车对象 Cart cart = (Cart) session.getAttribute("cart"); // 更新购物车中的商品数量 cart.updateCart(goodsId, quantity); // 更新 session 中的购物车对象 session.setAttribute("cart", cart); // 设置操作结果为 "yes" 表示成功 result = "yes"; return result; } /** * 从购物车中删除指定商品 * * @param goodsId 商品ID * @return 操作结果的字符串 ("yes" 表示成功) */ public String delGoodsFromCart(String goodsId) { // 获取 WebContext 上下文 WebContext ctx = WebContextFactory.get(); // 通过 DWR 获取 WebContext HttpSession session = ctx.getSession(); // 获取当前会话对象 // 获取购物车对象 Cart cart = (Cart) session.getAttribute("cart"); // 从购物车中删除指定商品 cart.delGoods(goodsId); // 更新 session 中的购物车对象 session.setAttribute("cart", cart); return "yes"; // 返回成功标志 } /** * 清空购物车中的所有商品 * * @return 操作结果的字符串 ("yes" 表示成功) */ public String clearCart() { // 获取 WebContext 上下文 WebContext ctx = WebContextFactory.get(); // 通过 DWR 获取 WebContext HttpSession session = ctx.getSession(); // 获取当前会话对象 // 获取购物车对象 Cart cart = (Cart) session.getAttribute("cart"); // 清空购物车中的所有商品 cart.getItems().clear(); // 更新 session 中的购物车对象 session.setAttribute("cart", cart); return "yes"; // 返回成功标志 } }