package com.ruoyi.hezhi.mapper;

import com.ruoyi.hezhi.domain.TbExamSubjectAnswer;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 考试题目答案选项Mapper接口
 *
 * @author ruoyi
 * @date 2024-11-04
 */
public interface TbExamSubjectAnswerMapper
{
    /**
     * 查询考试题目答案选项
     *
     * @param examSubjectAnswerId 考试题目答案选项主键
     * @return 考试题目答案选项
     */
    public TbExamSubjectAnswer selectTbExamSubjectAnswerByExamSubjectAnswerId(Long examSubjectAnswerId);

    /**
     * 查询考试题目答案选项列表
     *
     * @param tbExamSubjectAnswer 考试题目答案选项
     * @return 考试题目答案选项集合
     */
    public List<TbExamSubjectAnswer> selectTbExamSubjectAnswerList(TbExamSubjectAnswer tbExamSubjectAnswer);

    /**
     * 新增考试题目答案选项
     *
     * @param tbExamSubjectAnswer 考试题目答案选项
     * @return 结果
     */
    public int insertTbExamSubjectAnswer(TbExamSubjectAnswer tbExamSubjectAnswer);

    /**
     * 修改考试题目答案选项
     *
     * @param tbExamSubjectAnswer 考试题目答案选项
     * @return 结果
     */
    public int updateTbExamSubjectAnswer(TbExamSubjectAnswer tbExamSubjectAnswer);

    /**
     * 删除考试题目答案选项
     *
     * @param examSubjectAnswerId 考试题目答案选项主键
     * @return 结果
     */
    public int deleteTbExamSubjectAnswerByExamSubjectAnswerId(Long examSubjectAnswerId);

    /**
     * 批量删除考试题目答案选项
     *
     * @param examSubjectAnswerIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTbExamSubjectAnswerByExamSubjectAnswerIds(Long[] examSubjectAnswerIds);

    /**
     * 批量新增考试题目答案选项
     *
     * @param list 考试题目答案选项
     * @return 结果
     */
    public int batchInsertTbExamSubjectAnswer(List<TbExamSubjectAnswer> list);

    /**
     * 查询答案ID集合和答案集合
     *
     * @param examSubjectId 考试题目主键ID
     * @param examSubjectNo 考试题目编号
     * @return 结果
     */
    public Map<String, Object> selectAnswerIdsAndAnswer(@Param("examSubjectId") Long examSubjectId, @Param("examSubjectNo") String examSubjectNo);

    /**
     * 查询考试题目答案选项列表（考试题目编号）
     *
     * @param examSubjectNo 考试题目编号
     * @return 考试题目答案选项集合
     */
    public List<TbExamSubjectAnswer> selectTbExamSubjectAnswerListBy(String examSubjectNo);

    /**
     * 批量删除考试题目答案选项信息（考试题目编号）
     *
     * @param examSubjectNo 考试题目编号
     * @return 结果
     */
    public int batchDeleteTbExamSubjectAnswerByExamSubjectNo(String examSubjectNo);

    /**
     * 查询选项列表
     *
     * @param examSubjectId 考试题目主键ID
     * @param examSubjectNo 考试题目编号
     * @return 结果
     */
    public List<Map<String, Object>> selectSelectList(@Param("examSubjectId") Long examSubjectId, @Param("examSubjectNo") String examSubjectNo);

    /**
     * 查询答案列表
     *
     * @param examSubjectId 考试题目主键ID
     * @param examSubjectNo 考试题目编号
     * @return 结果
     */
    public List<Map<String, Object>> selectAnswerList(@Param("examSubjectId") Long examSubjectId, @Param("examSubjectNo") String examSubjectNo);
}
