package com.ruoyi.ss.cardOrder.mapper;

import java.util.List;
import com.ruoyi.ss.cardOrder.domain.CardOrder;
import com.ruoyi.ss.cardOrder.domain.CardOrderVO;
import com.ruoyi.ss.cardOrder.domain.CardOrderQuery;
import org.apache.ibatis.annotations.Param;

/**
 * 卡券订单Mapper接口
 *
 * @author qzz
 * @date 2025-03-20
 */
public interface CardOrderMapper
{
    /**
     * 查询卡券订单
     *
     * @param orderId 卡券订单主键
     * @return 卡券订单
     */
    public CardOrderVO selectCardOrderByOrderId(Long orderId);

    /**
     * 查询卡券订单列表
     *
     * @param query 卡券订单
     * @return 卡券订单集合
     */
    public List<CardOrderVO> selectCardOrderList(@Param("query")CardOrderQuery query);

    /**
     * 新增卡券订单
     *
     * @param cardOrder 卡券订单
     * @return 结果
     */
    public int insertCardOrder(CardOrder cardOrder);

    /**
     * 修改卡券订单
     *
     * @param cardOrder 卡券订单
     * @return 结果
     */
    public int updateCardOrder(@Param("data") CardOrder cardOrder);

    /**
     * 删除卡券订单
     *
     * @param orderId 卡券订单主键
     * @return 结果
     */
    public int deleteCardOrderByOrderId(Long orderId);

    /**
     * 批量删除卡券订单
     *
     * @param orderIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCardOrderByOrderIds(Long[] orderIds);


    CardOrderVO selectCardOrderByOrderNo(String orderNo);
}
