package com.ruoyi.course.domain.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;
import java.util.Map;

@Data
@ApiModel(description = "学生课表")
public class StudentScheduleDTO {

    @ApiModelProperty(value = "学生ID")
    private Long studentId;
    
    @ApiModelProperty(value = "学生姓名")
    private String studentName;
    
    @ApiModelProperty(value = "班级名称")
    private String className;
    
    @ApiModelProperty(value = "学期")
    private String semester;
    
    @ApiModelProperty(value = "课表数据")
    private Map<String, Map<Integer, ScheduleItemDTO>> schedule; // 键:周一,周二... 值:时间段->课程
    
    @ApiModelProperty(value = "必修课列表")
    private List<CourseInfo> requiredCourses;
    
    @ApiModelProperty(value = "选修课列表")
    private List<CourseInfo> electiveCourses;
    
    @Data
    public static class ScheduleItemDTO {
        private String courseName;
        private String teacherName;
        private String classroomName;
        private String courseType;
    }
    
    @Data
    public static class CourseInfo {
        private String courseName;
        private String teacherName;
        private Integer hoursPerWeek;
    }
}