package com.qmth.themis.business.entity;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.themis.business.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @Description: 考生库
 * @Param:
 * @return:
 * @Author: wangliang
 * @Date: 2020/6/25
 */
@ApiModel(value = "t_e_exam_student", description = "考生库")
public class TEExamStudent extends BaseEntity {

    /**
     *
     */
    private static final long serialVersionUID = 4720242896522208986L;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "批次id")
    @TableField(value = "exam_id")
    private Long examId;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "场次id")
    @TableField(value = "exam_activity_id")
    private Long examActivityId;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "学生id")
    @TableField(value = "student_id")
    private Long studentId;

    @ApiModelProperty(value = "科目代码")
    @TableField(value = "course_code")
    private String courseCode;

    @ApiModelProperty(value = "虚拟考场代码，考试唯一")
    @TableField(value = "room_code")
    private String roomCode;

    @ApiModelProperty(value = "证件号，机构内唯一")
    @TableField(value = "identity")
    private String identity;

    @ApiModelProperty(value = "姓名")
    @TableField(value = "name")
    private String name;

    @ApiModelProperty(value = "扩展字段")
    @TableField(value = "parameter")
    private String parameter;

    @ApiModelProperty(value = "已考考试次数")
    @TableField(value = "already_exam_count")
    private Integer alreadyExamCount;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "当前考试记录ID")
    @TableField(value = "current_record_id")
    private Long currentRecordId;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "最终生效的记录ID")
    @TableField(value = "select_record_id")
    private Long selectRecordId;

    @ApiModelProperty(value = "考场名称")
    @TableField(value = "room_name")
    private String roomName;

    @ApiModelProperty(value = "是否启用，0：停用，1：启用")
    @TableField(value = "enable")
    private Integer enable = 1;

    @ApiModelProperty(value = "年级")
    @TableField(value = "grade", updateStrategy = FieldStrategy.IGNORED)
    private String grade;

    @ApiModelProperty(value = "班级")
    @TableField(value = "class_no", updateStrategy = FieldStrategy.IGNORED)
    private String classNo;

    @ApiModelProperty(value = "科目名称")
    @TableField(value = "course_name")
    private String courseName;

    @ApiModelProperty(value = "联系电话")
    @TableField(exist = false)
    private String mobileNumber;

    public String getMobileNumber() {
        return mobileNumber;
    }

    public void setMobileNumber(String mobileNumber) {
        this.mobileNumber = mobileNumber;
    }

    public String getCourseName() {
        return courseName;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }

    public String getClassNo() {
        return classNo;
    }

    public void setClassNo(String classNo) {
        this.classNo = classNo;
    }

    public String getGrade() {
        return grade;
    }

    public void setGrade(String grade) {
        this.grade = grade;
    }

    public String getRoomName() {
        return roomName;
    }

    public void setRoomName(String roomName) {
        this.roomName = roomName;
    }

    public Integer getEnable() {
        return enable;
    }

    public void setEnable(Integer enable) {
        this.enable = enable;
    }

    public Long getExamId() {
        return examId;
    }

    public void setExamId(Long examId) {
        this.examId = examId;
    }

    public Long getExamActivityId() {
        return examActivityId;
    }

    public void setExamActivityId(Long examActivityId) {
        this.examActivityId = examActivityId;
    }

    public Long getStudentId() {
        return studentId;
    }

    public void setStudentId(Long studentId) {
        this.studentId = studentId;
    }

    public String getCourseCode() {
        return courseCode;
    }

    public void setCourseCode(String courseCode) {
        this.courseCode = courseCode;
    }

    public String getRoomCode() {
        return roomCode;
    }

    public void setRoomCode(String roomCode) {
        this.roomCode = roomCode;
    }

    public String getIdentity() {
        return identity;
    }

    public void setIdentity(String identity) {
        this.identity = identity;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getParameter() {
        return parameter;
    }

    public void setParameter(String parameter) {
        this.parameter = parameter;
    }

    public Long getCurrentRecordId() {
        return currentRecordId;
    }

    public void setCurrentRecordId(Long currentRecordId) {
        this.currentRecordId = currentRecordId;
    }

    public Long getSelectRecordId() {
        return selectRecordId;
    }

    public void setSelectRecordId(Long selectRecordId) {
        this.selectRecordId = selectRecordId;
    }

    public Integer getAlreadyExamCount() {
        return alreadyExamCount;
    }

    public void setAlreadyExamCount(Integer alreadyExamCount) {
        this.alreadyExamCount = alreadyExamCount;
    }
}
