package com.ruoyi.learn.domain;

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;

/**
 * 试卷对象 learn_paper
 *
 * @author ruoyi
 * @date 2025-09-18
 */
public class LearnPaper extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

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

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

    /** 创建年度 */
    @Excel(name = "创建年度")
    private Integer year;

    /** 历年真题,模拟卷,必刷题;组卷;练习卷;刷题卷;know_test-知识点,auto-基础题库,high_error-高频错题,smart_test-智能刷题,paper-真题,试卷 */
    @Excel(name = "历年真题,模拟卷,必刷题;组卷;练习卷;刷题卷;know_test-知识点,auto-基础题库,high_error-高频错题,smart_test-智能刷题,paper-真题,试卷")
    private String paperType;

    /** 试卷状态 */
    @Excel(name = "试卷状态 0无效 1有效 3临卷无效 4临卷有效")
    private Integer status;

    /** 试卷题数 */
    @Excel(name = "试卷题数")
    private Integer number;

    /** 试卷总分数 */
    @Excel(name = "试卷总分数")
    private Integer fenshu;

    /** 试券来源 */
    @Excel(name = "试券来源")
    private Integer paperSource;

    /** 定向key */
    @Excel(name = "定向key")
    private String directKey;

    /** 试卷信息 */
    @Excel(name = "试卷信息")
    private String paperInfo;

    /** 标识 */
    @Excel(name = "标识")
    private String tiid;

    /** 路径 */
    @Excel(name = "路径")
    private String osspath;

    /** 源文件名 */
    @Excel(name = "源文件名")
    private String filename;

    /** 真题卷id或组卷人id */
    @Excel(name = "真题卷id或组卷人id")
    private Long relateId;

    /** 适用地区 */
    @Excel(name = "适用地区")
    private String locations;

    /** 适用考生 */
    @Excel(name = "适用考生")
    private String examineeTypes;

    private Long examineeId;

    private boolean collect;

    public Long getExamineeId() {
        return examineeId;
    }

    public void setExamineeId(Long examineeId) {
        this.examineeId = examineeId;
    }

    public boolean isCollect() {
        return collect;
    }

    public void setCollect(boolean collect) {
        this.collect = collect;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setSubjectId(Long subjectId)
    {
        this.subjectId = subjectId;
    }

    public Long getSubjectId()
    {
        return subjectId;
    }

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

    public String getPaperName()
    {
        return paperName;
    }

    public void setYear(Integer year)
    {
        this.year = year;
    }

    public Integer getYear()
    {
        return year;
    }

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

    public String getPaperType()
    {
        return paperType;
    }

    public void setNumber(Integer number)
    {
        this.number = number;
    }

    public Integer getNumber()
    {
        return number;
    }

    public Integer getStatus() {
        return status;
    }

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

    public void setFenshu(Integer fenshu)
    {
        this.fenshu = fenshu;
    }

    public Integer getFenshu()
    {
        return fenshu;
    }

    public void setPaperSource(Integer paperSource)
    {
        this.paperSource = paperSource;
    }

    public Integer getPaperSource()
    {
        return paperSource;
    }

    public void setDirectKey(String directKey)
    {
        this.directKey = directKey;
    }

    public String getDirectKey()
    {
        return directKey;
    }

    public void setTiid(String tiid)
    {
        this.tiid = tiid;
    }

    public String getTiid()
    {
        return tiid;
    }

    public void setOsspath(String osspath)
    {
        this.osspath = osspath;
    }

    public String getOsspath()
    {
        return osspath;
    }

    public void setFilename(String filename)
    {
        this.filename = filename;
    }

    public String getFilename()
    {
        return filename;
    }

    public void setRelateId(Long relateId)
    {
        this.relateId = relateId;
    }

    public Long getRelateId()
    {
        return relateId;
    }

    public void setLocations(String locations)
    {
        this.locations = locations;
    }

    public String getLocations()
    {
        return locations;
    }

    public void setExamineeTypes(String examineeTypes)
    {
        this.examineeTypes = examineeTypes;
    }

    public String getExamineeTypes()
    {
        return examineeTypes;
    }

    public String getPaperInfo() {
        return paperInfo;
    }

    public void setPaperInfo(String paperInfo) {
        this.paperInfo = paperInfo;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("subjectId", getSubjectId())
            .append("paperName", getPaperName())
            .append("year", getYear())
            .append("paperType", getPaperType())
            .append("number", getNumber())
            .append("fenshu", getFenshu())
            .append("paperSource", getPaperSource())
            .append("directKey", getDirectKey())
            .append("tiid", getTiid())
            .append("osspath", getOsspath())
            .append("filename", getFilename())
            .append("relateId", getRelateId())
            .append("locations", getLocations())
            .append("examineeTypes", getExamineeTypes())
            .append("createTime", getCreateTime())
            .toString();
    }
}
