package com.qmth.distributed.print.business.entity;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.distributed.print.business.enums.PrintMethodEnum;
import com.qmth.teachcloud.common.base.BaseEntity;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;

/**
 * <p>
 * 考务规则
 * </p>
 *
 * @author xf
 * @since 2021-03-23
 */
@TableName("basic_exam_rule")
public class BasicExamRule 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")
    @JsonSerialize(using = ToStringSerializer.class)
    @TableField(value = "org_id", updateStrategy = FieldStrategy.IGNORED)
    private Long orgId;

    /**
     * 必选字段
     */
    @TableField("required_fields")
    private String requiredFields;
    /**
     * 扩展字段
     */
    @TableField("extend_fields")
    private String extendFields;
    /**
     * 0-禁用，1-启用
     */
    private Boolean review;
    /**
     * 0-禁用，1-启用
     */
    @TableField("include_paper")
    private Boolean includePaper;
    /**
     * 0-禁用，1-启用
     */
    @TableField("custom_card")
    private Boolean customCard;
    /**
     * AUTO-自动，MANUAL-手动
     */
    @TableField("print_method")
    private PrintMethodEnum printMethod;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Long getSchoolId() {
        return schoolId;
    }

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

    public Long getOrgId() {
        return orgId;
    }

    public void setOrgId(Long orgId) {
        this.orgId = orgId;
    }

    public String getRequiredFields() {
        return requiredFields;
    }

    public void setRequiredFields(String requiredFields) {
        this.requiredFields = requiredFields;
    }

    public String getExtendFields() {
        return extendFields;
    }

    public void setExtendFields(String extendFields) {
        this.extendFields = extendFields;
    }

    public Boolean getReview() {
        return review;
    }

    public void setReview(Boolean review) {
        this.review = review;
    }

    public Boolean getIncludePaper() {
        return includePaper;
    }

    public void setIncludePaper(Boolean includePaper) {
        this.includePaper = includePaper;
    }

    public Boolean getCustomCard() {
        return customCard;
    }

    public void setCustomCard(Boolean customCard) {
        this.customCard = customCard;
    }

    public PrintMethodEnum getPrintMethod() {
        return printMethod;
    }

    public void setPrintMethod(PrintMethodEnum printMethod) {
        this.printMethod = printMethod;
    }

}
