package com.lesingle.edu.dto.response;

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

import java.time.LocalDateTime;

/**
 * 班级响应
 * 用于返回班级信息给前端
 */
@Data
@Builder
@Schema(description = "班级响应")
public class ClassResponse {

    @Schema(description = "ID")
    private Long id;

    @Schema(description = "租户 ID")
    private Long tenantId;

    @Schema(description = "班级名称")
    private String name;

    @Schema(description = "年级")
    private String grade;

    @Schema(description = "描述")
    private String description;

    @Schema(description = "容量")
    private Integer capacity;

    @Schema(description = "状态")
    private String status;

    @Schema(description = "创建时间")
    private LocalDateTime createdAt;

    @Schema(description = "更新时间")
    private LocalDateTime updatedAt;

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

    @Schema(description = "授课次数")
    private Integer lessonCount;

    @Schema(description = "当前教师在该班级的角色：MAIN-主班, ASSIST-配班, CARE-保育员")
    private String myRole;

    @Schema(description = "当前教师是否班主任")
    private Boolean isPrimary;

    @Schema(description = "班级教师列表（学校端列表展示）")
    private java.util.List<ClassTeacherResponse> teachers;
}
