package com.qmth.teachcloud.common.bean.params;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.teachcloud.common.annotation.DBVerify;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotNull;

/**
 * @Description: 基础学生参数
 * @Author: CaoZixuan
 * @Date: 2021-08-04
 */
public class BasicStudentParams {

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "学生id（修改时必填）")
    @DBVerify(value = "学生id（修改时必填）")
    private Long id;

    @ApiModelProperty(value = "学生名称")
    @NotNull(message = "请输入学生名称")
    @Length(min = 1,message = "请输入学生名称")
    @DBVerify(value = "学生名称",required = true)
    private String studentName;

    @ApiModelProperty(value = "学生学号")
    @NotNull(message = "请输入学生学号")
    @Length(min = 1,message = "请输入学生学号")
    @DBVerify(value = "学生学号",required = true)
    private String studentCode;

    @ApiModelProperty(value = "手机号码")
    private String phoneNumber;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "校区主键")
    private Long campusId;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "学院主键")
    private Long collegeId;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "专业主键")
    private Long majorId;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "班级信息")
    private Long clazzId;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getStudentName() {
        return studentName;
    }

    public void setStudentName(String studentName) {
        this.studentName = studentName;
    }

    public String getStudentCode() {
        return studentCode;
    }

    public void setStudentCode(String studentCode) {
        this.studentCode = studentCode;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    public Long getCampusId() {
        return campusId;
    }

    public void setCampusId(Long campusId) {
        this.campusId = campusId;
    }

    public Long getCollegeId() {
        return collegeId;
    }

    public void setCollegeId(Long collegeId) {
        this.collegeId = collegeId;
    }

    public Long getMajorId() {
        return majorId;
    }

    public void setMajorId(Long majorId) {
        this.majorId = majorId;
    }

    public Long getClazzId() {
        return clazzId;
    }

    public void setClazzId(Long clazzId) {
        this.clazzId = clazzId;
    }
}
