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

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 命题任务选择题库试卷相关文件表
 * </p>
 *
 * @author xf
 * @since 2024-02-29
 */
@TableName("exam_task_paper_data")
@ApiModel(value="ExamTaskPaperData对象", description="命题任务选择题库试卷相关文件表")
public class ExamTaskPaperData implements Serializable {

    private static final long serialVersionUID = 1L;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "考试ID")
    @MppMultiId(value = "exam_id")
    private Long examId;

    @ApiModelProperty(value = "试卷编号")
    @MppMultiId(value = "paper_number")
    private String paperNumber;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "题库试卷ID")
    @MppMultiId(value = "paper_id")
    private Long paperId;

    @ApiModelProperty(value = "题库试卷数据包地址（zip）")
    private String dataPacketPath;

    @ApiModelProperty(value = "试卷结构内容（从paper.json解析）")
    private String paperJson;

    @ApiModelProperty(value = "试卷答案内容（从answer.json解析）")
    private String answerJson;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "试卷pdf文件地址（paper.pdf上传附件ID）")
    private Long paperPdfAttachmentId;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "标答pdf文件地址（answer.pdf上传附件ID）")
    private Long answerPdfAttachmentId;

    @ApiModelProperty(value = "唯一标识")
    private String uuid;

    public ExamTaskPaperData() {
    }

    public ExamTaskPaperData(Long examId, String paperNumber, Long paperId) {
        this.examId = examId;
        this.paperNumber = paperNumber;
        this.paperId = paperId;
    }

    public Long getExamId() {
        return examId;
    }

    public void setExamId(Long examId) {
        this.examId = examId;
    }
    public String getPaperNumber() {
        return paperNumber;
    }

    public void setPaperNumber(String paperNumber) {
        this.paperNumber = paperNumber;
    }
    public Long getPaperId() {
        return paperId;
    }

    public void setPaperId(Long paperId) {
        this.paperId = paperId;
    }
    public String getDataPacketPath() {
        return dataPacketPath;
    }

    public void setDataPacketPath(String dataPacketPath) {
        this.dataPacketPath = dataPacketPath;
    }
    public String getPaperJson() {
        return paperJson;
    }

    public void setPaperJson(String paperJson) {
        this.paperJson = paperJson;
    }
    public String getAnswerJson() {
        return answerJson;
    }

    public void setAnswerJson(String answerJson) {
        this.answerJson = answerJson;
    }

    public Long getPaperPdfAttachmentId() {
        return paperPdfAttachmentId;
    }

    public void setPaperPdfAttachmentId(Long paperPdfAttachmentId) {
        this.paperPdfAttachmentId = paperPdfAttachmentId;
    }

    public Long getAnswerPdfAttachmentId() {
        return answerPdfAttachmentId;
    }

    public void setAnswerPdfAttachmentId(Long answerPdfAttachmentId) {
        this.answerPdfAttachmentId = answerPdfAttachmentId;
    }

    public String getUuid() {
        return uuid;
    }

    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    @Override
    public String toString() {
        return "ExamTaskPaperData{" +
            "examId=" + examId +
            ", paperNumber=" + paperNumber +
            ", paperId=" + paperId +
            ", dataPacketPath=" + dataPacketPath +
            ", paperJson=" + paperJson +
            ", answerJson=" + answerJson +
            ", paperPdfAttachmentId=" + paperPdfAttachmentId +
            ", answerPdfAttachmentId=" + answerPdfAttachmentId +
        "}";
    }
}
