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

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.distributed.print.business.bean.result.report.PaperStructDimensionResult;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * @Description: 试卷蓝图params
 * @Param:
 * @return:
 * @Author: wangliang
 * @Date: 2024/2/19
 */
public class PaperStructParams implements Serializable {

    @ApiModelProperty(value = "考试id")
    @JsonSerialize(using = ToStringSerializer.class)
    @NotNull(message = "考试id不能为空")
    private Long examId;

    @ApiModelProperty(value = "课程编码")
    @NotNull(message = "课程编码不能为空")
    private String courseCode;

    @ApiModelProperty(value = "试卷编码")
    private String paperNumber;

    @ApiModelProperty(value = "试卷蓝图结构")
    @NotEmpty(message = "试卷蓝图结构不能为空")
    private List<PaperStructDimensionResult> paperStruct;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "教学课程id")
    @NotNull(message = "教学课程id不能为空")
    private Long teachCourseId;

    public Long getTeachCourseId() {
        return teachCourseId;
    }

    public void setTeachCourseId(Long teachCourseId) {
        this.teachCourseId = teachCourseId;
    }

    public Long getExamId() {
        return examId;
    }

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

    public String getCourseCode() {
        return courseCode;
    }

    public void setCourseCode(String courseCode) {
        this.courseCode = courseCode;
    }

    public String getPaperNumber() {
        return paperNumber;
    }

    public void setPaperNumber(String paperNumber) {
        this.paperNumber = paperNumber;
    }

    public List<PaperStructDimensionResult> getPaperStruct() {
        return paperStruct;
    }

    public void setPaperStruct(List<PaperStructDimensionResult> paperStruct) {
        this.paperStruct = paperStruct;
    }
}
