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

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yida.data.common.core.entity.screen.EduSchoolDashboardDataBase;
import com.yida.data.common.core.entity.screen.EduSchoolDashboardDataTeacher;
import com.yida.data.school.dto.screen.SchoolDashboardBaseSaveDTO;
import com.yida.data.school.dto.screen.SchoolDashboardTeacherSaveDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * 校园大数据详情返回数据
 *
 * @author ZYJ
 * @date 2021/12/24
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "SchoolDashboardInfoVO", description = "校园大数据详情返回数据")
public class SchoolDashboardInfoVO implements Serializable {

    private static final long serialVersionUID = -6252907885213608870L;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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