package com.qmth.distributed.print.business.bean.params;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.distributed.print.business.enums.PaperFileDownloadContentEnum;
import com.qmth.distributed.print.business.enums.PaperFileDownloadExposureStatusEnum;
import io.swagger.annotations.ApiModelProperty;

import java.util.Set;

/**
 * @Description: 试卷文件下载参数
 * @Author: CaoZixuan
 * @Date: 2022-04-08
 */
public class DownloadPaperFileParam {
    // 查询条件
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "学期id")
    private Long semesterId;

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

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "机构id")
    private Long orgId;

    @ApiModelProperty(value = "课程名称")
    private String courseName;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "印刷计划id")
    private Set<Long> idSet;

    @ApiModelProperty(value = "下载的内容：'试卷、题卡、试卷题卡'")
    private PaperFileDownloadContentEnum paperFileDownloadContentType;

    @ApiModelProperty(value = "下载的曝光类型：'已曝光、未曝光、全部'")
    private PaperFileDownloadExposureStatusEnum paperFileDownloadExposureStatus;

    @ApiModelProperty(value = "开启根据课程名称-课程代码命名？true 是 false 否")
    private Boolean namedByCourseInfo;

    @ApiModelProperty(value = "开启根据试卷编号命名？true 是 false 否")
    private Boolean namedByPaperNumber;

    @ApiModelProperty(value = "开启根据原始文件名命名？true 是 false 否")
    private Boolean namedByOriginalFile;



    public Long getSemesterId() {
        return semesterId;
    }

    public void setSemesterId(Long semesterId) {
        this.semesterId = semesterId;
    }

    public Long getExamId() {
        return examId;
    }

    public void setExamId(Long examId) {
        this.examId = examId;
    }

    public Long getOrgId() {
        return orgId;
    }

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

    public String getCourseName() {
        return courseName;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }

    public Set<Long> getIdSet() {
        return idSet;
    }

    public void setIdSet(Set<Long> idSet) {
        this.idSet = idSet;
    }

    public PaperFileDownloadContentEnum getPaperFileDownloadContentType() {
        return paperFileDownloadContentType;
    }

    public void setPaperFileDownloadContentType(PaperFileDownloadContentEnum paperFileDownloadContentType) {
        this.paperFileDownloadContentType = paperFileDownloadContentType;
    }

    public PaperFileDownloadExposureStatusEnum getPaperFileDownloadExposureStatus() {
        return paperFileDownloadExposureStatus;
    }

    public void setPaperFileDownloadExposureStatus(PaperFileDownloadExposureStatusEnum paperFileDownloadExposureStatus) {
        this.paperFileDownloadExposureStatus = paperFileDownloadExposureStatus;
    }

    public Boolean getNamedByCourseInfo() {
        return namedByCourseInfo;
    }

    public void setNamedByCourseInfo(Boolean namedByCourseInfo) {
        this.namedByCourseInfo = namedByCourseInfo;
    }

    public Boolean getNamedByPaperNumber() {
        return namedByPaperNumber;
    }

    public void setNamedByPaperNumber(Boolean namedByPaperNumber) {
        this.namedByPaperNumber = namedByPaperNumber;
    }

    public Boolean getNamedByOriginalFile() {
        return namedByOriginalFile;
    }

    public void setNamedByOriginalFile(Boolean namedByOriginalFile) {
        this.namedByOriginalFile = namedByOriginalFile;
    }
}
