package com.sundot.airport.exam.logic.manage.model.params;

import com.sundot.airport.exam.enums.QuesTypeEnum;
import com.sundot.airport.exam.logic.manage.model.params.sub.QuesOptionParam;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * <b>功能名：</b>QuesUpdParam<br>
 * <b>说明：</b> 题目修改请求参数 <br>
 * <b>著作权：</b> Copyright (C) 2021 HUIFANEDU  CORPORATION<br>
 * <b>修改履历：
 *
 * @author 2021-06-18 liangxiao
 */
public class QuesUpdParam {

    /**
     * 业务主键
     */
    @NotBlank(message = "业务主键不能为空")
    private String quId;

    /**
     * 题目类型。
     * - SINGLE单选；MULTIPLE多选；JUDGMENT判断；FILL_BLANK填空；CONNECTION连线
     */
    @NotNull(message = "题目类型不能为空")
    private QuesTypeEnum quType;

    /**
     * 题干内容
     */
    @NotBlank(message = "题干内容不能为空")
    private String quContent;

    /**
     * 题目分类表业务主键
     */
    @NotNull(message = "分类业务主键不能为Null")
    private String qcId;

    /**
     * 选项列表
     */
    @NotEmpty(message = "选项列表不能为空")
    private List<QuesOptionParam> option;

    @Override
    public String toString() {
        return "QuesUpdParam{" +
                "quId='" + quId + '\'' +
                ", quType=" + quType +
                ", quContent='" + quContent + '\'' +
                ", qcId='" + qcId + '\'' +
                ", option=" + option +
                '}';
    }

    public String getQuId() {
        return quId;
    }

    public void setQuId(String quId) {
        this.quId = quId;
    }

    public QuesTypeEnum getQuType() {
        return quType;
    }

    public void setQuType(QuesTypeEnum quType) {
        this.quType = quType;
    }

    public String getQuContent() {
        return quContent;
    }

    public void setQuContent(String quContent) {
        this.quContent = quContent;
    }

    public String getQcId() {
        return qcId;
    }

    public void setQcId(String qcId) {
        this.qcId = qcId;
    }

    public List<QuesOptionParam> getOption() {
        return option;
    }

    public void setOption(List<QuesOptionParam> option) {
        this.option = option;
    }
}
