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

import com.ym.mec.biz.dal.dto.BasicUserDto;
import com.ym.mec.biz.dal.dto.StudentVisitDto;
import com.ym.mec.biz.dal.entity.StudentVisit;
import com.ym.mec.common.dal.BaseDAO;
import org.apache.ibatis.annotations.Param;

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


public interface StudentVisitDao extends BaseDAO<Integer, StudentVisit> {

    /**
     * 获取访问详情
     *
     * @param id
     * @return
     */
    StudentVisitDto getInfo(Integer id);

    /**
     * 获取访问列表
     *
     * @param params
     * @return
     */
    List<StudentVisitDto> getPageList(Map<String, Object> params);

    /**
     * 获取学生列表
     *
     * @param params
     * @return
     */
    List<BasicUserDto> getStudents(Map<String, Object> params);

    /**
     * 获取学生总数
     *
     * @param params
     * @return
     */
    Integer getStudentsCount(Map<String, Object> params);

    /**
     * 获取乐团回访的学生
     *
     * @param musicGroupId
     * @param studentIds
     * @return
     */
    List<Integer> getMusicGroupVisitStudent(@Param("musicGroupId") String musicGroupId, @Param("studentIds") List<Integer> studentIds);
}