package com.bonus.canteen.core.order.service;

import com.bonus.canteen.core.order.domain.OrderShoppingCart;
import com.bonus.canteen.core.order.domain.param.OrderShoppingCartQueryParam;
import com.bonus.canteen.core.order.domain.vo.OrderShoppingCartVO;

import java.util.List;

/**
 * 订单购物车Service接口
 * 
 * @author ruoyi
 * @date 2025-04-14
 */
public interface IOrderShoppingCartService 
{
    /**
     * 查询订单购物车
     * 
     * @param shoppingCartId 订单购物车主键
     * @return 订单购物车
     */
    public OrderShoppingCart selectOrderShoppingCartByShoppingCartId(Long shoppingCartId);

    /**
     * 查询订单购物车列表
     * 
     * @param orderShoppingCart 订单购物车
     * @return 订单购物车集合
     */
    public List<OrderShoppingCartVO> selectOrderShoppingCartList(OrderShoppingCartQueryParam orderShoppingCart);

    /**
     * 新增订单购物车
     * 
     * @param orderShoppingCart 订单购物车
     * @return 结果
     */
    public int insertOrderShoppingCart(OrderShoppingCart orderShoppingCart);

    /**
     * 修改订单购物车
     * 
     * @param orderShoppingCart 订单购物车
     * @return 结果
     */
    public int updateOrderShoppingCart(OrderShoppingCart orderShoppingCart);

    /**
     * 批量删除订单购物车
     * 
     * @param shoppingCartIds 需要删除的订单购物车主键集合
     * @return 结果
     */
    public int deleteOrderShoppingCartByShoppingCartIds(List<Long> shoppingCartIds);

    /**
     * 删除订单购物车信息
     * 
     * @param shoppingCartId 订单购物车主键
     * @return 结果
     */
    public int deleteOrderShoppingCartByShoppingCartId(Long shoppingCartId);
}
