package org.dromara.art.domain.bo;

import org.dromara.art.domain.ArtSchool;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;

/**
 * 学校基础信息主表业务对象 art_school
 *
 * @author ZhouWenTao
 * @date 2026-02-17
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = ArtSchool.class, reverseConvertGenerate = false)
public class ArtSchoolBo extends BaseEntity {

    /**
     * 学校主键ID
     */
    @NotNull(message = "学校主键ID不能为空", groups = { EditGroup.class })
    private Long schoolId;

    /**
     * 学校编码（唯一标识，如国标代码）
     */
    @NotBlank(message = "学校编码（唯一标识，如国标代码）不能为空", groups = { AddGroup.class, EditGroup.class })
    private String mainCode;

    /**
     * 学校主名称（官方全称）
     */
    @NotBlank(message = "学校主名称（官方全称）不能为空", groups = { AddGroup.class, EditGroup.class })
    private String mainName;

    /**
     * 学校简称（备用）
     */
    private String shortName;

    /**
     * 院校图标
     */
    private String schoolIcon;

    /**
     * 省份
     */
    private String province;

    /**
     * 城市
     */
    private String city;

    /**
     * 区县
     */
    private String district;

    /**
     * 大学类型：综合/工科/财经/艺术...
     */
    private String universityType;

    /**
     * 学历层次：本科/专科
     */
    private String educationLevel;

    /**
     * 办学性质：公办/民办/中外合作
     */
    private String schoolNature;

    /**
     * 主管部门：教育部/工信部/民委...
     */
    private String supervisorDept;

    /**
     * 建校时间(年)
     */
    private Long establishYear;

    /**
     * 占地面积(亩)
     */
    private Long campusAreaMu;

    /**
     * 男生比例(%)
     */
    private Long maleRatio;

    /**
     * 女生比例(%)
     */
    private Long femaleRatio;

    /**
     * 备注
     */
    private String remark;


}
