package com.ym.mec.biz.service;

import com.ym.mec.biz.dal.dto.StudentManageAccountBaseInfoDto;
import com.ym.mec.biz.dal.dto.StudentManageBaseDto;
import com.ym.mec.biz.dal.dto.StudentManageBaseInfoOfMusicGroupDto;
import com.ym.mec.biz.dal.dto.StudentManageVipGroupDto;
import com.ym.mec.biz.dal.page.StudentManageAttendanceQueryInfo;
import com.ym.mec.biz.dal.page.StudentManageCourseQueryInfo;
import com.ym.mec.biz.dal.page.StudentManageQueryInfo;
import com.ym.mec.common.page.PageInfo;

import java.util.List;

/**
 * @Author Joburgess
 * @Date 2019/9/19
 */
public interface StudentManageService {

    /**
     * @Author: Joburgess
     * @Date: 2019/9/19
     * 根据员工分页获取该员工所属部门下所有学生
     */
    PageInfo findStudentsByOrganId(StudentManageQueryInfo queryInfo);

    /**
     * @Author: Joburgess
     * @Date: 2019/9/20
     * 根据学生ID获取学生基本报名信息
     */
    StudentManageBaseDto findStudentManageBaseInfo(Long userID);

    /**
     * @Author: Joburgess
     * @Date: 2019/9/20
     * 根据学生ID获取其所在的乐团
     */
    List<StudentManageBaseInfoOfMusicGroupDto> findStudentMusicGroupsByUserId(Long userID);

    /**
     * @Author: Joburgess
     * @Date: 2019/9/20
     * 获取学生排课信息
     */
    PageInfo findStudentCourseList(StudentManageCourseQueryInfo queryInfo);

    /**
     * @Author: Joburgess
     * @Date: 2019/9/20
     * 获取学生考勤记录
     */
    PageInfo findStudentAttendances(StudentManageAttendanceQueryInfo queryInfo);

    /**
     * @Author: Joburgess
     * @Date: 2019/9/20
     * 获取学生vip课
     */
    List<StudentManageVipGroupDto> findStudentVipGroups(Long userID);

    /**
     * @Author: Joburgess
     * @Date: 2019/9/21
     * 获取学上账户基本信息
     */
    StudentManageAccountBaseInfoDto getStudentAccountBaseInfo(Long userID);

}
