package cn.com.qmth.examcloud.core.questions.base.question;

import cn.com.qmth.examcloud.core.questions.base.question.enums.QuesStructType;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

public class QuestionDto implements Serializable {

    private static final long serialVersionUID = 1866951329075565891L;

    private String id;

    private String quesBody;// 题干,默认为html

    private String quesAnswer;// 答案,默认为html

    private List<SubQuestionDto> subQuestions;// 子题目,用于套题

    private List<QuesOptionDto> quesOptions;// 试题选项

    private QuesStructType questionType;// 试题结构类型

    private Map<String, String> quesParams;// 试题属性

    private Double score;// 预设分值

    /**
     * 是否包含音频
     */
    private Boolean hasAudio;
    /**
     * 播放次数
     */
    private Integer playTime;

    public String getId() {
        return id;
    }

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

    public String getQuesBody() {
        return quesBody;
    }

    public void setQuesBody(String quesBody) {
        this.quesBody = quesBody;
    }

    public String getQuesAnswer() {
        return quesAnswer;
    }

    public void setQuesAnswer(String quesAnswer) {
        this.quesAnswer = quesAnswer;
    }

    public List<QuesOptionDto> getQuesOptions() {
        return quesOptions;
    }

    public void setQuesOptions(List<QuesOptionDto> quesOptions) {
        this.quesOptions = quesOptions;
    }

    public QuesStructType getQuestionType() {
        return questionType;
    }

    public void setQuestionType(QuesStructType questionType) {
        this.questionType = questionType;
    }

    public Map<String, String> getQuesParams() {
        return quesParams;
    }

    public void setQuesParams(Map<String, String> quesParams) {
        this.quesParams = quesParams;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Double getScore() {
        return score == null ? 0 : score;
    }

    public void setScore(Double score) {
        this.score = score;
    }

    public List<SubQuestionDto> getSubQuestions() {
        return subQuestions;
    }

    public void setSubQuestions(List<SubQuestionDto> subQuestions) {
        this.subQuestions = subQuestions;
    }

    public Boolean getHasAudio() {
        return hasAudio;
    }

    public void setHasAudio(Boolean hasAudio) {
        this.hasAudio = hasAudio;
    }

    public Integer getPlayTime() {
        return playTime;
    }

    public void setPlayTime(Integer playTime) {
        this.playTime = playTime;
    }

}
