package com.keao.edu.user.dao;

import com.keao.edu.common.dal.BaseDAO;
import com.keao.edu.user.dto.ExamSubjectDto;
import com.keao.edu.user.entity.ExamSubject;
import com.keao.edu.user.entity.Subject;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ExamSubjectDao extends BaseDAO<Long, ExamSubject> {

    int batchInsert(@Param("examSubjects") List<ExamSubject> examSubjects);

    int deleteWithExamSubject(@Param("examId") Long examId, @Param("subjectId") Integer subjectId);

    /**
     * @param examId: 考级项目编号
     * @return java.util.List<com.keao.edu.user.entity.ExamSubject>
     * @describe 获取考级项目关联的声部
     * @author Joburgess
     * @date 2020.06.19
     */
    List<ExamSubject> getWithTenant(@Param("examId") Integer examId);

    /**
     * 根据考级项目编号获取相关专业
     *
     * @param examId 考级项目编号
     * @return
     */
    List<ExamSubjectDto> getSubjectWithExamId(@Param("examId") Integer examId);

    /**
     * @describe 获取与考级项目无关的专业
     * @author Joburgess
     * @date 2020.07.03
     * @param tenantId:
     * @param examId:
     * @return java.util.List<com.keao.edu.user.entity.Subject>
     */
    List<Subject> getUnRelatedWithExamSubjects(@Param("tenantId") Integer tenantId,
                                               @Param("examId") Integer examId);

}
