package com.ruoyi.mxjb.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * AI组卷记录对象 mxjb_ai_paper
 * 
 * @author mingxue
 * @date 2021-12-25
 */
public class MxjbPaperTest extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    String[] StateNames = new String[] {"", "", "", "已答题", "", "已交卷", "通过", "未通过"};
    String[] StepNames = new String[] {"容易", "普通", "困难"};

    /** paper_id */
    private Long paperId;

    /** 科目 */
    @Excel(name = "科目")
    private Long subjectid;

    /** 年级 */
    @Excel(name = "年级")
    private Long gradeId;

    /** 学期 */
    @Excel(name = "学期")
    private Long termId;

    /** 名称 */
    @Excel(name = "名称")
    private String name;

    /** 未答题, 已答题, 通过, 未通过 */
    @Excel(name = "未答题, 已答题, 通过, 未通过")
    private Long state;

    /** 知识点 */
    @Excel(name = "知识点")
    private String knownledges;

    /** 轮次 */
    @Excel(name = "轮次")
    private Long round;

    /** 难易程度 */
    @Excel(name = "难易程度")
    private Long step;

    public String getStateStr() {
        return null != state && state < StateNames.length ? StateNames[state.intValue()] : "";
    }

    public String getStepStr() {
        return null != step && step < StepNames.length ? StepNames[step.intValue()] : "";
    }

    /** 创建人 */
    @Excel(name = "创建人")
    private Long creatorId;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdTime;

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

    public Long getPaperId() 
    {
        return paperId;
    }
    public void setSubjectid(Long subjectid) 
    {
        this.subjectid = subjectid;
    }

    public Long getSubjectid() 
    {
        return subjectid;
    }
    public void setGradeId(Long gradeId) 
    {
        this.gradeId = gradeId;
    }

    public Long getGradeId() 
    {
        return gradeId;
    }
    public void setTermId(Long termId) 
    {
        this.termId = termId;
    }

    public Long getTermId() 
    {
        return termId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setState(Long state)
    {
        this.state = state;
    }

    public Long getState()
    {
        return state;
    }
    public void setKnownledges(String knownledges) 
    {
        this.knownledges = knownledges;
    }

    public String getKnownledges() 
    {
        return knownledges;
    }
    public void setRound(Long round) 
    {
        this.round = round;
    }

    public Long getRound() 
    {
        return round;
    }
    public void setStep(Long step)
    {
        this.step = step;
    }

    public Long getStep()
    {
        return step;
    }
    public void setCreatorId(Long creatorId) 
    {
        this.creatorId = creatorId;
    }

    public Long getCreatorId() 
    {
        return creatorId;
    }
    public void setCreatedTime(Date createdTime) 
    {
        this.createdTime = createdTime;
    }

    public Date getCreatedTime() 
    {
        return createdTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("paperId", getPaperId())
            .append("subjectid", getSubjectid())
            .append("gradeId", getGradeId())
            .append("termId", getTermId())
            .append("name", getName())
            .append("state", getState())
            .append("knownledges", getKnownledges())
            .append("round", getRound())
            .append("step", getStep())
            .append("creatorId", getCreatorId())
            .append("createdTime", getCreatedTime())
            .toString();
    }
}
