package com.qmth.teachcloud.common.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.teachcloud.common.base.BaseEntity;
import com.qmth.teachcloud.common.enums.ExamCategoryEnum;
import com.qmth.teachcloud.common.enums.ExamModelEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;

/**
 * 考试表
 */
@ApiModel(value = "BasicExam对象", description = "考试表")
public class BasicExam extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "学校id")
    @JsonSerialize(using = ToStringSerializer.class)
    @TableField("school_id")
    private Long schoolId;

    @ApiModelProperty(value = "学期ID")
    @TableField("semester_id")
    private String semesterId;

    @ApiModelProperty(value = "考试名称")
    @TableField("name")
    private String name;

    @ApiModelProperty(value = "考试类型")
    @TableField("category")
    private ExamCategoryEnum category;

    @ApiModelProperty(value = "业务模式")
    @TableField("exam_model")
    private ExamModelEnum examModel;

    @ApiModelProperty(value = "启用/禁用")
    @TableField("enable")
    private Boolean enable;

    @ApiModelProperty(value = "是否当前使用")
    @TableField("in_used")
    private Boolean inUsed;

    public Long getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(Long schoolId) {
        this.schoolId = schoolId;
    }

    public String getSemesterId() {
        return semesterId;
    }

    public void setSemesterId(String semesterId) {
        this.semesterId = semesterId;
    }

    public String getName() {
        return name;
    }

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

    public ExamCategoryEnum getCategory() {
        return category;
    }

    public void setCategory(ExamCategoryEnum category) {
        this.category = category;
    }

    public ExamModelEnum getExamModel() {
        return examModel;
    }

    public void setExamModel(ExamModelEnum examModel) {
        this.examModel = examModel;
    }

    public Boolean getEnable() {
        return enable;
    }

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

    public Boolean getInUsed() {
        return inUsed;
    }

    public void setInUsed(Boolean inUsed) {
        this.inUsed = inUsed;
    }
}
