package com.ym.mec.collectfee.dao;

import com.ym.mec.collectfee.common.dao.BaseDAO;
import com.ym.mec.collectfee.entity.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

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

@Component
public interface ApplyInfoDao extends BaseDAO<Integer, ApplyInfo> {

    /**
     * 根据用户输入的手机，乐团编号查询用户信息
     * @param phone
     * @param clazzId
     * @return
     */
    ApplyInfo findUserByPhone(@Param("phone") String phone, @Param("clazzId") Integer clazzId);

    /**
     * 根据学生编号获取乐团注册页面数据
     * @param stuId
     * @return
     */
    Map<String,Object> getUserRegisterVIewDetail(Integer stuId);

    List<ApplyInfoPage> queryUserPage(Map<String, Object> queryInfo);

    int queryUserCount(Map<String, Object> params);

    /**
     * 根据mec用户信息查询用户信息
     * @param userId
     * @return
     */
    ApplyInfo findByUserId(Integer userId);

    /**
     * 调剂
     * @param userId
     * @param subId
     */
    void updateUserSub(@Param("userId") Integer userId, @Param("subId")Integer subId, @Param("courseId")Integer courseId, @Param("updateTime") Date updateTime);

    List<String> findUserByClass(@Param("classId") Integer classId,@Param("status") Integer status);
}