package com.ruoyi.ss.checkoff.mapper;

import java.util.List;
import com.ruoyi.ss.checkoff.domain.CheckoffRecords;
import com.ruoyi.ss.checkoff.domain.CheckoffRecordsVO;
import com.ruoyi.ss.checkoff.domain.CheckoffRecordsQuery;
import org.apache.ibatis.annotations.Param;

/**
 * 核销记录Mapper接口
 *
 * @author qzz
 * @date 2025-03-18
 */
public interface CheckoffRecordsMapper
{
    /**
     * 查询核销记录
     *
     * @param checkoffId 核销记录主键
     * @return 核销记录
     */
    public CheckoffRecordsVO selectCheckoffRecordsByCheckoffId(Long checkoffId);

    /**
     * 最后一条核销记录
     *
     * @param cardId 卡券id
     * @return 结果
     */
    CheckoffRecords selectCheckoffRecordsByCardId(Long cardId);

    /**
     * 查询核销记录列表
     *
     * @param query 核销记录
     * @return 核销记录集合
     */
    public List<CheckoffRecordsVO> selectCheckoffRecordsList(@Param("query")CheckoffRecordsQuery query);

    /**
     * 新增核销记录
     *
     * @param checkoffRecords 核销记录
     * @return 结果
     */
    public int insertCheckoffRecords(CheckoffRecords checkoffRecords);

    /**
     * 修改核销记录
     *
     * @param checkoffRecords 核销记录
     * @return 结果
     */
    public int updateCheckoffRecords(@Param("data") CheckoffRecords checkoffRecords);

    /**
     * 删除核销记录
     *
     * @param checkoffId 核销记录主键
     * @return 结果
     */
    public int deleteCheckoffRecordsByCheckoffId(Long checkoffId);

    /**
     * 批量删除核销记录
     *
     * @param checkoffIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCheckoffRecordsByCheckoffIds(Long[] checkoffIds);


}
