package com.pangu.school.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.pangu.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;

/**
 * 学校实体类
 * @author pangu
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("pg_school")
public class School extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 学校ID */
    @TableId(type = IdType.AUTO)
    private Long schoolId;

    /** 学校编码 */
    @NotBlank(message = "学校编码不能为空")
    @Size(max = 32, message = "学校编码长度不能超过32个字符")
    private String schoolCode;

    /** 学校名称 */
    @NotBlank(message = "学校名称不能为空")
    @Size(max = 100, message = "学校名称长度不能超过100个字符")
    private String schoolName;

    /** 学校类型（01小学 02初中 03高中 04完全中学 99其他）*/
    @NotBlank(message = "学校类型不能为空")
    private String schoolType;

    /** 所属区域ID */
    @NotNull(message = "所属区域不能为空")
    private Long regionId;

    /** 区域路径（如：湖北省-武汉市-武昌区）*/
    private String regionPath;

    /** 详细地址 */
    @Size(max = 255, message = "详细地址长度不能超过255个字符")
    private String address;

    /** 联系人 */
    @Size(max = 50, message = "联系人长度不能超过50个字符")
    private String contactPerson;

    /** 联系电话 */
    @Pattern(regexp = "^1[3-9]\\d{9}$", message = "请输入正确的手机号")
    private String contactPhone;

    /** 状态（0正常 1停用）*/
    private String status;
}
