package com.hc.business.model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.validation.constraints.NotNull;
import java.io.Serializable;


/**
 * 试卷表(Paper)实体类
 *
 * @author java
 * @since 2020-12-07 11:34:27
 */

@ApiModel(value = "试卷表")
public class Paper implements Serializable {

    private static final long serialVersionUID = -88433359130256838L;


    /**
     * 主键id
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @ApiModelProperty(value = "主键id")
    private Integer paperId;

    /**
     * 试卷名称
     */
    @ApiModelProperty(value = "试卷名称", required = true)
    @NotNull
    private String paperName;

    /**
     * 试卷类别 1，2分别表示随机试卷，固定试卷
     */
    @ApiModelProperty(value = "试卷类别 1，2分别表示随机试卷，固定试卷")
    private Integer paperType;

    /**
     * 试卷介绍
     */
    @ApiModelProperty(value = "试卷介绍", required = true)
    @NotNull
    private String paperIntroduction;

    /**
     * 总分
     */
    @ApiModelProperty(value = "总分", required = true)
    @NotNull
    private Integer paperScore;


    /**
     * 及格线
     */
    @ApiModelProperty(value = "及格线", required = true)
    @NotNull
    private Integer paperScorePass;


    /**
     * 时长
     */
    @ApiModelProperty(value = "时长", required = true)
    private Integer paperTime;

    /**
     * 题目数量
     */
    @ApiModelProperty(value = "题目数量", required = true)
    private Integer questionsNum;

    /**
     * 失效时间
     */
    @ApiModelProperty(value = "失效时间")
    private Long endTime;

    /**
     * 1有效2无效
     */
    @ApiModelProperty(value = "1有效2无效")
    private Integer status;

    public Paper(Integer paperId, @NotNull String paperName,
                 Integer paperType, @NotNull String paperIntroduction,
                 @NotNull Integer paperScore, @NotNull Integer paperScorePass,
                 Integer paperTime,
                 Integer questionsNum, Long endTime, Integer status) {
        this.paperId = paperId;
        this.paperName = paperName;
        this.paperType = paperType;
        this.paperIntroduction = paperIntroduction;
        this.paperScore = paperScore;
        this.paperScorePass = paperScorePass;
        this.paperTime = paperTime;
        this.questionsNum = questionsNum;
        this.endTime = endTime;
        this.status = status;
    }

    public Paper() {
    }

    public Integer getPaperId() {
        return paperId;
    }

    public void setPaperId(Integer paperId) {
        this.paperId = paperId;
    }

    public String getPaperName() {
        return paperName;
    }

    public void setPaperName(String paperName) {
        this.paperName = paperName;
    }

    public Integer getPaperType() {
        return paperType;
    }

    public void setPaperType(Integer paperType) {
        this.paperType = paperType;
    }

    public String getPaperIntroduction() {
        return paperIntroduction;
    }

    public void setPaperIntroduction(String paperIntroduction) {
        this.paperIntroduction = paperIntroduction;
    }

    public Integer getPaperScore() {
        return paperScore;
    }

    public void setPaperScore(Integer paperScore) {
        this.paperScore = paperScore;
    }

    public Integer getPaperTime() {
        return paperTime;
    }

    public void setPaperTime(Integer paperTime) {
        this.paperTime = paperTime;
    }

    public Integer getQuestionsNum() {
        return questionsNum;
    }

    public void setQuestionsNum(Integer questionsNum) {
        this.questionsNum = questionsNum;
    }

    public Long getEndTime() {
        return endTime;
    }

    public void setEndTime(Long endTime) {
        this.endTime = endTime;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getPaperScorePass() {
        return paperScorePass;
    }

    public void setPaperScorePass(Integer paperScorePass) {
        this.paperScorePass = paperScorePass;
    }
}