package org.dromara.art.domain.vo;

import org.dromara.art.domain.ArtSchoolDetail;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;



/**
 * 学校详细信息视图对象 art_school_detail
 *
 * @author ZhouWenTao
 * @date 2026-02-17
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = ArtSchoolDetail.class)
public class ArtSchoolDetailVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @ExcelProperty(value = "主键ID")
    private Long detailId;

    /**
     * 关联学校主表ID
     */
    @ExcelProperty(value = "关联学校主表ID")
    private Long schoolId;

    /**
     * 学校详细介绍（大文本）
     */
    @ExcelProperty(value = "学校详细介绍")
    private String introduction;

    /**
     * 校徽
     */
    @ExcelProperty(value = "校徽")
    private String schoolIcon;

    /**
     * 学校地址
     */
    @ExcelProperty(value = "学校地址")
    private String address;

    /**
     * 联系电话
     */
    @ExcelProperty(value = "联系电话")
    private String contact;

    /**
     * 邮箱
     */
    @ExcelProperty(value = "邮箱")
    private String email;

    /**
     * 官网地址
     */
    @ExcelProperty(value = "官网地址")
    private String website;

    /**
     * 邮编
     */
    @ExcelProperty(value = "邮编")
    private String postcode;

    /**
     * 建校年份
     */
    @ExcelProperty(value = "建校年份")
    private Integer establishYear;

    /**
     * 占地面积(亩)
     */
    @ExcelProperty(value = "占地面积(亩)")
    private BigDecimal campusAreaMu;

    /**
     * 图书馆藏书量
     */
    @ExcelProperty(value = "图书馆藏书量")
    private Long libraryCollection;

    /**
     * 男生比例
     */
    @ExcelProperty(value = "男生比例")
    private BigDecimal maleRatio;

    /**
     * 女生比例
     */
    @ExcelProperty(value = "女生比例")
    private BigDecimal femaleRatio;

    /**
     * 是否985：0否1是
     */
    @ExcelProperty(value = "是否985")
    private Integer is985;

    /**
     * 是否211：0否1是
     */
    @ExcelProperty(value = "是否211")
    private Integer is211;

    /**
     * 是否双一流：0否1是
     */
    @ExcelProperty(value = "是否双一流")
    private Integer isDoubleFirstClass;

    /**
     * 是否省重点：0否1是
     */
    @ExcelProperty(value = "是否省重点")
    private Integer isKeyUniversity;

    /**
     * 学校标签数组
     */
    @ExcelProperty(value = "学校标签")
    private String[] tags;

    /**
     * 在校学生数
     */
    @ExcelProperty(value = "在校学生数")
    private Long studentCount;

    /**
     * 教职工人数
     */
    @ExcelProperty(value = "教职工人数")
    private Long teacherCount;

    /**
     * 硕士点数量
     */
    @ExcelProperty(value = "硕士点数量")
    private Integer masterPoint;

    /**
     * 博士点数量
     */
    @ExcelProperty(value = "博士点数量")
    private Integer doctorPoint;

    /**
     * 国家级重点专业数
     */
    @ExcelProperty(value = "国家级重点专业数")
    private Integer keyMajorCount;

    /**
     * 就业率
     */
    @ExcelProperty(value = "就业率")
    private BigDecimal employmentRate;

    /**
     * 院校满意度
     */
    @ExcelProperty(value = "院校满意度")
    private BigDecimal satisfactionRate;

    /**
     * 外部院校ID
     */
    @ExcelProperty(value = "外部院校ID")
    private Integer univId;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 背景图
     */
    @ExcelProperty(value = "背景图")
    private String backGround;

    /**
     * 是否公办：0否1是
     */
    @ExcelProperty(value = "是否公办")
    private Integer isPublic;

    /**
     * 考研率
     */
    @ExcelProperty(value = "考研率")
    private BigDecimal masterProportionRate;

    /**
     * 出国率
     */
    @ExcelProperty(value = "出国率")
    private BigDecimal abroadProportionRate;

    /**
     * 是否有普通本科：0否1是
     */
    @ExcelProperty(value = "是否有普通本科")
    private Integer hasRegular;

    /**
     * 是否有专科：0否1是
     */
    @ExcelProperty(value = "是否有专科")
    private Integer hasJunior;

    /**
     * 是否有硕士点：0否1是
     */
    @ExcelProperty(value = "是否有硕士点")
    private Integer hasMaster;

    /**
     * 是否双高计划：0否1是
     */
    @ExcelProperty(value = "是否双高计划")
    private Integer isDoubleHighPlan;

    /**
     * 是否强基计划：0否1是
     */
    @ExcelProperty(value = "是否强基计划")
    private Integer isStrongPlan;

    /**
     * 泰晤士中国排名
     */
    @ExcelProperty(value = "泰晤士中国排名")
    private Integer twsdlRank;

    /**
     * 校友会排名
     */
    @ExcelProperty(value = "校友会排名")
    private Integer xyhRank;

    /**
     * 武书连排名
     */
    @ExcelProperty(value = "武书连排名")
    private Integer wslRank;

    /**
     * US中国排名
     */
    @ExcelProperty(value = "US中国排名")
    private Integer usdaluRank;

    /**
     * QS排名
     */
    @ExcelProperty(value = "QS排名")
    private Integer qsdaluRank;

    /**
     * 综合评分
     */
    @ExcelProperty(value = "综合评分")
    private BigDecimal combinedScore;

    /**
     * 综合排名
     */
    @ExcelProperty(value = "综合排名")
    private Integer overallRank;

    /**
     * 环境满意度
     */
    @ExcelProperty(value = "环境满意度")
    private BigDecimal envSatisfaction;

    /**
     * 环境满意度投票数
     */
    @ExcelProperty(value = "环境满意度投票数")
    private Integer envVote;

    /**
     * 生活满意度
     */
    @ExcelProperty(value = "生活满意度")
    private BigDecimal liveSatisfaction;

    /**
     * 生活满意度投票数
     */
    @ExcelProperty(value = "生活满意度投票数")
    private Integer liveVote;

    /**
     * 综合满意度(原始分)
     */
    @ExcelProperty(value = "综合满意度(原始分)")
    private BigDecimal combinedSatisfaction;

    /**
     * 综合满意度投票数
     */
    @ExcelProperty(value = "综合满意度投票数")
    private Integer combinedVote;

    /**
     * 满意度明细JSON
     */
    @ExcelProperty(value = "满意度明细JSON")
    private String satisfactionJson;

    /**
     * 师资力量描述
     */
    @ExcelProperty(value = "师资力量描述")
    private String teachers;

    /**
     * 奖学金说明
     */
    @ExcelProperty(value = "奖学金说明")
    private String scholarship;

    /**
     * 奖学金数组JSON
     */
    @ExcelProperty(value = "奖学金数组JSON")
    private String scholarshipJson;

    /**
     * 助学金说明
     */
    @ExcelProperty(value = "助学金说明")
    private String grantDesc;

    /**
     * 食堂说明
     */
    @ExcelProperty(value = "食堂说明")
    private String canteen;

    /**
     * 宿舍说明
     */
    @ExcelProperty(value = "宿舍说明")
    private String dormitory;

    /**
     * 硕士点说明
     */
    @ExcelProperty(value = "硕士点说明")
    private String masterExplain;

    /**
     * 博士点说明
     */
    @ExcelProperty(value = "博士点说明")
    private String doctorExplain;

    /**
     * 特色专业JSON
     */
    @ExcelProperty(value = "特色专业JSON")
    private String specialMajorJson;

    /**
     * 就业报告JSON
     */
    @ExcelProperty(value = "就业报告JSON")
    private String employmentReportJson;

    /**
     * 图片JSON
     */
    @ExcelProperty(value = "图片JSON")
    private String photoJson;

    /**
     * 建筑/配套JSON
     */
    @ExcelProperty(value = "建筑/配套JSON")
    private String accommodationJson;

    /**
     * 学科评估JSON
     */
    @ExcelProperty(value = "学科评估JSON")
    private String subjectReviewsJson;

    /**
     * 科研信息JSON
     */
    @ExcelProperty(value = "科研信息JSON")
    private String researchJson;

    /**
     * 专业标签JSON
     */
    @ExcelProperty(value = "专业标签JSON")
    private String univMajorsJson;

    /**
     * 保研信息JSON
     */
    @ExcelProperty(value = "保研信息JSON")
    private String univPostgraduateJson;


}
