package com.ruoyi.course.domain.dto;

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

import java.util.Map;

@Data
@Schema(description = "特殊规则配置")
public class SpecialRulesDTO {

    @Schema(description = "默认教师每周课时", example = "15")
    private Integer defaultTeacherHours = 15;

    @Schema(description = "特殊教师规则", example = "{\"张三\":{\"maxHours\":20,\"courseCount\":3}}")
    private Map<String, Map<String, Object>> specialTeachers;

    @Schema(description = "默认班级每周课时", example = "25")
    private Integer defaultClassHours = 25;

    @Schema(description = "高三年级每周课时", example = "30")
    private Integer senior3Hours = 30;

    @Schema(description = "学生必修课程", example = "[\"语文\",\"数学\",\"英语\"]")
    private String[] requiredCourses;

    @Schema(description = "学生选修课程数量", example = "3")
    private Integer electiveCourseCount = 3;

    @Schema(description = "特长班额外兴趣课数量", example = "1")
    private Integer specialClassExtraCourse = 1;

    @Schema(description = "排课时间设置")
    private ScheduleTimeDTO scheduleTime;

    @Schema(description = "教师负责课程数量", example = "2")
    private Integer teacherCourseCount = 2;

    @Schema(description = "班级人数", example = "30")
    private Integer classStudentCount = 30;
}