package com.lesingle.edu.dto.response;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

import java.util.List;

/**
 * 教师仪表盘响应
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "教师仪表盘响应")
public class TeacherDashboardResponse {

    @Schema(description = "基础统计")
    private TeacherStats stats;

    @Schema(description = "今日课程")
    private List<TeacherLessonVO> todayLessons;

    @Schema(description = "推荐课程")
    private List<CoursePackageVO> recommendedCourses;

    @Schema(description = "本周统计")
    private TeacherWeeklyStatsResponse weeklyStats;

    @Schema(description = "近期活动")
    private List<Object> recentActivities;

    /**
     * 基础统计
     */
    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    @Schema(description = "基础统计")
    public static class TeacherStats {
        @Schema(description = "班级数量")
        private Long classCount;

        @Schema(description = "学生数量")
        private Long studentCount;

        @Schema(description = "课程包数量")
        private Long courseCount;

        @Schema(description = "课时数量")
        private Long lessonCount;
    }
}
