package com.yanzhu.manage.mapper;

import java.util.List;
import com.yanzhu.manage.domain.BusExamInfo;
import com.yanzhu.manage.domain.BusExamInfoQues;

/**
 * 基础试卷Mapper接口
 * 
 * @author JiangYuQi
 * @date 2024-08-25
 */
public interface BusExamInfoMapper 
{
    /**
     * 查询基础试卷
     * 
     * @param id 基础试卷主键
     * @return 基础试卷
     */
    public BusExamInfo selectBusExamInfoById(Long id);

    /**
     * 查询基础试卷列表
     * 
     * @param busExamInfo 基础试卷
     * @return 基础试卷集合
     */
    public List<BusExamInfo> selectBusExamInfoList(BusExamInfo busExamInfo);

    /**
     * 新增基础试卷
     * 
     * @param busExamInfo 基础试卷
     * @return 结果
     */
    public int insertBusExamInfo(BusExamInfo busExamInfo);

    /**
     * 修改基础试卷
     * 
     * @param busExamInfo 基础试卷
     * @return 结果
     */
    public int updateBusExamInfo(BusExamInfo busExamInfo);

    /**
     * 修改基础试卷使用次数
     *
     * @param id 基础试卷主键
     * @return 结果
     */
    public void updateExamUseNumber(Long id);

    /**
     * 删除基础试卷
     * 
     * @param id 基础试卷主键
     * @return 结果
     */
    public int deleteBusExamInfoById(Long id);

    /**
     * 批量删除基础试卷
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBusExamInfoByIds(Long[] ids);

    /**
     * 批量删除试卷问题
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBusExamInfoQuesByExamIds(Long[] ids);
    
    /**
     * 批量新增试卷问题
     * 
     * @param busExamInfoQuesList 试卷问题列表
     * @return 结果
     */
    public int batchBusExamInfoQues(List<BusExamInfoQues> busExamInfoQuesList);
    

    /**
     * 通过基础试卷主键删除试卷问题信息
     * 
     * @param id 基础试卷ID
     * @return 结果
     */
    public int deleteBusExamInfoQuesByExamId(Long id);
}
