package com.ym.mec.biz.dal.dao;

import com.ym.mec.biz.dal.entity.StudentPauseInfo;
import com.ym.mec.biz.dal.enums.GroupType;
import com.ym.mec.common.dal.BaseDAO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author Joburgess
 * @Date 2019/12/18
 */
public interface StudentPauseInfoDao extends BaseDAO<Long, StudentPauseInfo> {

    /**
     * @describe 获取用户的休学信息
     * @author Joburgess
     * @date 2019/12/22
     * @param groupType:
     * @param groupId:
     * @param userId:
     * @return com.ym.mec.biz.dal.entity.StudentPauseInfo
     */
    StudentPauseInfo findByGroupAndUser(@Param("groupType")GroupType groupType,
                                        @Param("groupId") String groupId,
                                        @Param("userId") Integer userId);

    /**
     * @describe 获取指定乐团下的学员休学信息
     * @author Joburgess
     * @date 2019/12/25
     * @param groupType:
     * @param groupId:
     * @return java.util.List<com.ym.mec.biz.dal.entity.StudentPauseInfo>
     */
    List<StudentPauseInfo> findByGroup(@Param("groupType") GroupType groupType,
                                       @Param("groupId") String groupId);

    /**
     * @describe 删除学员在指定课程组下的休学信息
     * @author Joburgess
     * @date 2020.06.04
     * @param groupType:
     * @param groupId:
     * @param userId:
     * @return int
     */
    int deleteUserPauseInfoWithGroup(@Param("groupType") GroupType groupType,
                                     @Param("groupId") String groupId,
                                     @Param("userId") Integer userId);

}
