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

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

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

public interface StudentApplyRefundsDao extends BaseDAO<Long, StudentApplyRefunds> {

    /**
     * @describe 检测对应课程是否存在退课申请
     * @author Joburgess
     * @date 2019/11/10
     * @param musicGroupIds: 乐团编号列表
     * @return java.util.List<java.util.Map<java.lang.String,java.lang.Integer>>
     */
    List<Map<String,Integer>> checkIsApplyRefund(@Param("musicGroupIds") List<String> musicGroupIds,
                                                 @Param("userId") Integer userId);

    /**
     * @describe 获取指定乐团下的退课记录
     * @author Joburgess
     * @date 2019/12/8
     * @param groupId: 乐团编号
     * @param groupType: 乐团类型
     * @return java.util.List<com.ym.mec.biz.dal.entity.StudentApplyRefunds>
     */
    List<StudentApplyRefunds> findByGroupAndType(@Param("groupId") String groupId,
                                                 @Param("groupType") String groupType);

    /**
     * @describe 获取用户退课中的申请
     * @author Joburgess
     * @date 2019/12/9
     * @param groupId: 乐团或vip课编号
     * @param groupType: 乐团类型
     * @param userId: 用户编号
     * @return java.util.List<com.ym.mec.biz.dal.entity.StudentApplyRefunds>
     */
    List<StudentApplyRefunds> findByGroupAndUser(@Param("groupId") String groupId,
                                                 @Param("groupType") String groupType,
                                                 @Param("userId") Integer userId);
	
}
