package com.lesingle.edu.dto.response;

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

import java.time.LocalDateTime;

/**
 * 教师活跃度排行响应
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "教师活跃度排行响应")
public class TeacherActivityRankResponse {

    @Schema(description = "教师 ID")
    private Long teacherId;

    @Schema(description = "教师姓名")
    private String teacherName;

    @Schema(description = "负责班级名称列表，逗号分隔")
    private String classNames;

    @Schema(description = "统计周期内授课次数")
    private Integer lessonCount;

    @Schema(description = "统计周期内上课课程数（去重）")
    private Integer courseCount;

    @Schema(description = "最后活跃时间")
    private LocalDateTime lastActiveAt;

    @Schema(description = "活跃状态编码：HIGH-高频，MEDIUM-中频，LOW-低频，INACTIVE-未使用")
    private String activityLevelCode;

    @Schema(description = "活跃状态描述")
    private String activityLevelDesc;
}
