package com.ym.mec.biz.service;

import com.ym.mec.biz.dal.dto.ClassGroupTeachersDto;
import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
import com.ym.mec.biz.dal.entity.CourseSchedule;
import com.ym.mec.common.service.BaseService;

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

public interface ClassGroupTeacherMapperService extends BaseService<Long, ClassGroupTeacherMapper> {

    /**
     * 批量插入班级老师
     * @param classGroupTeacherMapperList
     * @return
     */
    int classGroupTeachersInsert(List<ClassGroupTeacherMapper> classGroupTeacherMapperList);

    int classGroupTeachersInsert(List<ClassGroupTeacherMapper> classGroupTeacherMapperList,boolean checkCourser);

    /**
     * 查询班级老师
     *
     * @param classGroupList
     * @return
     */
    List<ClassGroupTeacherMapper> findClassGroupTeachers(List<ClassGroupTeachersDto> classGroupList);

    /**
     * 批量更新教师薪酬
     * @param classGroupTeacherMapperList
     * @return
     */
    boolean classGroupTeacherMapperUpdate(List<ClassGroupTeacherMapper> classGroupTeacherMapperList) throws Exception;

    void createMusicGroupTeacherMapper(List<CourseSchedule> courseSchedules,String musicGroupId);

    /**
     * @describe 创建乐团课单节课对应教师课酬
     * @author Joburgess
     * @date 2019/10/24
     * @param courseSchedules: 课程计划列表
     * @return void
     */
    void createCourseScheduleTeacherSalary(List<CourseSchedule> courseSchedules, Map<Long, CourseSchedule> oldCourseSchedules);

    /**
     * 获取班级老师
     * @param classGroupId
     * @return
     */
    List<ClassGroupTeacherMapper> getClassGroupTeachers(Integer classGroupId);
}
