package com.ssj.dao.conch.schoolmaster.v1.dao;

import com.ssj.service.conch.schoolmaster.v1.dto.*;

import org.springframework.stereotype.Repository;

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

@Repository
public interface SchoolV1QueryDao {

    /**
     * 根据校长的id查询其名下的所有的小课小组信息列表
     */
    List<LessonGroupDTO> findLessonGroupList(String masterId);

    /**
     * 根据小课小组的id，查询小组内的学生信息列表，
     * 可以根据订单的状态（lessonServiceStatus）过滤，lessonServiceStatus为null表示查询所有
     */
    List<StudentGroupDTO> findStudentGroupList(String lessonGroupId, Integer lessonServiceStatus);

    /**
     * 根绝小课小组的id，查询小课的详情
     */
    LessonGroupDetailDTO findLessonGroupDetail(String lessonGroupId);

    /**
     * 根据vipId集合查询学生信息列表（小课）
     */
    List<StudentGroupDTO> findStudentGroupListByVipIds(List<String> vipIdList);

    /**
     * 使用uuid生成器生成一个id
     * @return
     */
    String findUUID();

    /**
     * 查询组的现有上课时间及组课程id
     * @param lessonGroupId
     * @return
     */
    List<Map<String, Object>> findTimeAndGroupCourseIds(String lessonGroupId);

    List<AppStudentChangeBindDTO> findStudentListChangeBind(String masterId, List<String> studentVipIdList);

    List<AppMasterChangeBindDTO> findMasterListChangeBind(String masterId);
}
