package cn.iocoder.yudao.module.base.service;

import cn.iocoder.yudao.module.base.vo.IndexDataVO;
import cn.iocoder.yudao.module.base.vo.StudentInfoVO;

import java.util.Map;

/**
 * 数据查询统一方法
 *
 */
public interface DataViewService {

    /**
     * 查询学员详情
     * @author vinjor-M
     * @date 14:37 2025/2/8
     * @param id 学生id
     * @return cn.iocoder.yudao.module.base.vo.StudentInfoVO
    **/
    StudentInfoVO selectStudentInfo(Long id,Long coachId);
    /**
     * 首页数据统计查询接口 --
     * @author vinjor-M
     * @date 14:12 2025/2/14
     * @param type 查询类型（coach-教练查询|admin-管理员查询）
     * @param timeType 时间查询类型（all-全部|day-当日|month-当月|more-自定义）
     * @param coachId 教练id
     * @param startTime 查询时间范围--开始
     * @param endTime 查询时间范围--结束
     **/
    IndexDataVO selectIndexInfo(String type, String timeType, Long coachId, String startTime, String endTime);
    IndexDataVO selectIndexInfoByBusiness(String type, String timeType, Long coachId, String startTime, String endTime, Integer isSign);
    IndexDataVO selectIndexInfoByWorking(String type, String timeType, Long coachId, String startTime, String endTime, Integer isSign);

    /**
     * 查询学生总数
     * @author vinjor-M
     * @date 15:58 2025/2/25
     * @return java.util.Map<java.lang.String,java.lang.Object>
    **/
    Map<String,Object> getStudentCount();
}
