package com.yida.data.school.dto.screen;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 保存校园大数据请求类
 *
 * @author ZYJ
 * @date 2023/4/20
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "SchoolDashboardSaveDTO", description = "保存校园大数据请求类")
public class SchoolDashboardSaveDTO implements Serializable {

    private static final long serialVersionUID = 3417294163343915202L;

    @ApiModelProperty("主键")
    private Long id;

    @ApiModelProperty("创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createDate;

    @ApiModelProperty("学校id")
    private Long schoolId;

    @ApiModelProperty("大屏名称")
    private String title;

    @ApiModelProperty("学校logo地址")
    private String headerUrl;

    @ApiModelProperty("模板类型1:单页，2双页，3.。。")
    private Integer modeType;

    @ApiModelProperty(value = "所属区域")
    private String area;

    @ApiModelProperty("地址")
    private String address;

    @ApiModelProperty("学校创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private LocalDate schoolCreateDate;

    @ApiModelProperty("学校占地面积")
    private Integer schoolArea;

    @ApiModelProperty(value = "主管部门")
    private String competentDepartment;

    @ApiModelProperty("办学类型")
    private String eduType;

    @ApiModelProperty("院校特色")
    private String eduFeature;

    @ApiModelProperty("院校类型")
    private String institutionType;

    @ApiModelProperty("硕士点")
    private Integer masterNum;

    @ApiModelProperty("博士点")
    private Integer doctorNum;

    @ApiModelProperty("重点学科数")
    private Integer keyDisciplinesNum;

    @ApiModelProperty("科研项目数")
    private Integer researchProjectNum;

    @ApiModelProperty("学校简介")
    private String eduIntroduction;

    @ApiModelProperty("办学理念")
    private String eduPhilosophy;

    @ApiModelProperty("办学使命")
    private String eduMission;

    @ApiModelProperty("办学校训")
    private String eduMotto;

    @ApiModelProperty("校园风采")
    private String campusStyle;

    @ApiModelProperty("官方电话")
    private String telephone;

    @ApiModelProperty("教师人数")
    private Integer teacherNum;

    @ApiModelProperty("院系数量")
    private Integer departmentNum;

    @ApiModelProperty("一级学科数量")
    private Integer firstLevelDisciplineNum;

    @ApiModelProperty("二级学科数量")
    private Integer secondaryDisciplineNum;

    @ApiModelProperty("班级数")
    private Integer classNum;

    @ApiModelProperty("学生人数")
    private Integer studentNum;

    @ApiModelProperty("基础建设集合")
    private List<SchoolDashboardBaseSaveDTO> baseList;

    @ApiModelProperty("师资力量集合")
    private List<SchoolDashboardTeacherSaveDTO> teacherList;
}