package com.pangu.base.domain;

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.Size;

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

    /** 学科ID */
    @TableId(type = IdType.AUTO)
    @JsonProperty("id")
    private Long subjectId;

    /** 学科编码 */
    @JsonProperty("code")
    private String subjectCode;

    /** 学科名称 */
    @NotBlank(message = "学科名称不能为空")
    @Size(max = 50, message = "学科名称长度不能超过50个字符")
    @JsonProperty("name")
    private String subjectName;

    /** 显示顺序 */
    @JsonProperty("sort")
    private Integer orderNum;

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