package com.webmanage.service; import com.webmanage.dto.CartItemDTO; import com.webmanage.dto.CartQueryDTO; import com.webmanage.vo.CartVO; import com.webmanage.vo.CartItemVO; import java.util.List; /** * 购物车服务接口 */ public interface CartService { /** * 添加商品到购物车(Redis + 数据库) */ boolean addToCart(String userId, String unitId, CartItemDTO cartItemDTO); /** * 从购物车移除商品(Redis + 数据库) */ boolean removeFromCart(String userId, String unitId, Long pricingId); /** * 更新购物车商品数量(Redis + 数据库) */ boolean updateCartItemQuantity(String userId, String unitId, Long pricingId, Integer quantity); /** * 清空购物车(Redis + 数据库) */ boolean clearCart(String userId, String unitId); /** * 获取购物车信息(优先Redis,失败则从数据库加载) */ CartVO getCart(String userId, String unitId); /** * 获取购物车商品列表(优先Redis,失败则从数据库加载) */ List getCartItems(String userId, String unitId); /** * 检查购物车商品库存 */ boolean checkCartItemStock(String userId, String unitId, Long pricingId); /** * 批量删除购物车商品(Redis + 数据库) */ boolean batchRemoveFromCart(String userId, String unitId, List pricingIds); /** * 获取购物车商品数量(优先Redis,失败则从数据库加载) */ Integer getCartItemCount(String userId, String unitId); /** * 从数据库加载购物车数据到Redis */ boolean loadCartFromDatabase(String userId, String unitId); /** * 同步Redis数据到数据库 */ boolean syncCartToDatabase(String userId, String unitId); /** * 检查购物车数据一致性 */ boolean checkCartConsistency(String userId, String unitId); }