package com.ruoyi.learn.mapper;

import java.util.Collection;
import java.util.List;
import com.ruoyi.learn.domain.LearnTestPaper;
import org.apache.ibatis.annotations.Param;

/**
 * 批次测试卷Mapper接口
 *
 * @author ruoyi
 * @date 2025-09-18
 */
public interface LearnTestPaperMapper
{
    public List<LearnTestPaper> selectByBatchAndUniversityIds(@Param("buildType") String buildType, @Param("batchId") Integer batchId, @Param("subjectId") Long subjectId, @Param("teacherId") Long teacherId, @Param("universityIds") Collection<Long> universityIds);

    /**
     * 查询批次测试卷
     *
     * @param id 批次测试卷主键
     * @return 批次测试卷
     */
    public LearnTestPaper selectLearnTestPaperById(Long id);
    public LearnTestPaper selectLearnTestPaperByPaperId(Long paperId);

    /**
     * 查询批次测试卷列表
     *
     * @param learnTestPaper 批次测试卷
     * @return 批次测试卷集合
     */
    public List<LearnTestPaper> selectLearnTestPaperList(LearnTestPaper learnTestPaper);

    /**
     * 新增批次测试卷
     *
     * @param learnTestPaper 批次测试卷
     * @return 结果
     */
    public int insertLearnTestPaper(LearnTestPaper learnTestPaper);

    /**
     * 修改批次测试卷
     *
     * @param learnTestPaper 批次测试卷
     * @return 结果
     */
    public int updateLearnTestPaper(LearnTestPaper learnTestPaper);

    /**
     * 删除批次测试卷
     *
     * @param id 批次测试卷主键
     * @return 结果
     */
    public int deleteLearnTestPaperById(String id);

    /**
     * 批量删除批次测试卷
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteLearnTestPaperByIds(String[] ids);

    /**
     * 查询试卷列表（关联查询）
     *
     * @param params 查询参数（creatorId, buildType）
     * @return 试卷列表
     */
    public List<com.alibaba.fastjson2.JSONObject> selectPapers(java.util.Map<String, Object> params);
}
