package com.ruoyi.file.mapper;

import java.util.List;
import com.ruoyi.file.domain.DownloadRecord;
import com.ruoyi.file.domain.DownloadRecordItem;

/**
 * 下载记录Mapper接口
 * 
 * @author liangwen
 * @date 2025-09-12
 */
public interface DownloadRecordMapper 
{
    /**
     * 查询下载记录
     * 
     * @param recordId 下载记录主键
     * @return 下载记录
     */
    public DownloadRecord selectDownloadRecordByRecordId(Long recordId);

    /**
     * 查询下载记录列表
     * 
     * @param downloadRecord 下载记录
     * @return 下载记录集合
     */
    public List<DownloadRecord> selectDownloadRecordList(DownloadRecord downloadRecord);

    /**
     * 新增下载记录
     * 
     * @param downloadRecord 下载记录
     * @return 结果
     */
    public int insertDownloadRecord(DownloadRecord downloadRecord);

    /**
     * 修改下载记录
     * 
     * @param downloadRecord 下载记录
     * @return 结果
     */
    public int updateDownloadRecord(DownloadRecord downloadRecord);

    /**
     * 删除下载记录
     * 
     * @param recordId 下载记录主键
     * @return 结果
     */
    public int deleteDownloadRecordByRecordId(Long recordId);

    /**
     * 批量删除下载记录
     * 
     * @param recordIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDownloadRecordByRecordIds(Long[] recordIds);

    /**
     * 批量删除下载记录明显
     * 
     * @param recordIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDownloadRecordItemByRecordIds(Long[] recordIds);
    
    /**
     * 批量新增下载记录明显
     * 
     * @param downloadRecordItemList 下载记录明显列表
     * @return 结果
     */
    public int batchDownloadRecordItem(List<DownloadRecordItem> downloadRecordItemList);
    

    /**
     * 通过下载记录主键删除下载记录明显信息
     * 
     * @param recordId 下载记录ID
     * @return 结果
     */
    public int deleteDownloadRecordItemByRecordId(Long recordId);
}
