package com.qmth.teachcloud.report.business.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qmth.teachcloud.report.business.bean.result.TAExamCourseTeacherResult;
import com.qmth.teachcloud.report.business.bean.result.TeacherClassRankResult;
import com.qmth.teachcloud.report.business.bean.result.TeacherMyClassRankResult;
import com.qmth.teachcloud.report.business.entity.TAExamCourseCollegeTeacher;
import com.qmth.teachcloud.report.business.enums.OrderEnum;
import com.qmth.teachcloud.report.business.enums.SemesterEnum;

import java.util.List;

/**
 * <p>
 * 参考课程学院下授课教师维度分析表 服务类
 * </p>
 *
 * @author wangliang
 * @since 2021-06-01
 */
public interface TAExamCourseCollegeTeacherService extends IService<TAExamCourseCollegeTeacher> {

    IPage<TeacherClassRankResult> listClassRank(SemesterEnum semester, Long examId, String courseCode, Long inspectCollegeId, Integer pageNumber, Integer pageSize, String column, OrderEnum order);

    IPage<TeacherMyClassRankResult> listMyClassRank(SemesterEnum semester, Long examId, String courseCode, Long inspectCollegeId, Integer pageNumber, Integer pageSize, String column, OrderEnum order);

    IPage<TeacherClassRankResult> listAllTeacherClassRank(SemesterEnum semester, Long examId, Long inspectCollegeId, String courseCode, Long teacherId, Integer pageNumber, Integer pageSize, String column, OrderEnum order);

    /**
     * 查询老师得分
     *
     * @param examId
     * @param courseCode
     * @param collegeId
     * @return
     */
    List<TAExamCourseTeacherResult> findTeacherInfo(Long examId, String courseCode, Long collegeId);

    IPage<TeacherClassRankResult> listTeacherClassRank(SemesterEnum semester, Long examId, String courseCode, Integer pageNumber, Integer pageSize, String column, OrderEnum order);
}
