package com.zd.exam.domain;

import javax.validation.constraints.NotNull;

import com.zd.common.core.valid.ValidGroup;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.zd.common.core.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.zd.common.core.web.domain.BaseEntity;
import org.hibernate.validator.constraints.Length;

import java.util.List;

/**
 * 章节考核自选考题对象 el_course_chapter_qu
 *
 * @author liubo
 * @date 2022-01-05
 */
@ApiModel("章节考核自选考题")
public class ElCourseChapterQu extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @ApiModelProperty(value = "${comment}")
    private Long id;
    /**
     * 学习章节ID
     */
    @ApiModelProperty(value = "学习章节ID")
    private Long courseChapterId;
    /**
     * 题目ID
     */
    @Excel(name = "题目ID")
    @NotNull(groups = ValidGroup.Crud.Create.class, message = "题目ID不能为空")
    @ApiModelProperty(value = "题目ID")
    private Long quId;
    /**
     * 题目类型
     */
    @Excel(name = "题目类型")
    @NotNull(groups = ValidGroup.Crud.Create.class, message = "题目类型不能为空")
    @ApiModelProperty(value = "题目类型")
    private Integer quType;
    /**
     * 是否已答(0 未答，1 已答)
     */
    @Excel(name = "是否已答(0 未答，1 已答)")
    @NotNull(groups = ValidGroup.Crud.Create.class, message = "是否已答(0 未答，1 已答)不能为空")
    @ApiModelProperty(value = "是否已答(0 未答，1 已答)")
    private Integer answered;
    /**
     * 主观答案
     */
    @Excel(name = "主观答案")
    @Length(message = "主观答案长度不能超过5000")
    @ApiModelProperty(value = "主观答案")
    private String answer;
    /**
     * 问题排序
     */
    @Excel(name = "问题排序")
    @NotNull(groups = ValidGroup.Crud.Create.class, message = "问题排序不能为空")
    @ApiModelProperty(value = "问题排序")
    private Integer sort;
    /**
     * 单题分分值
     */
    @Excel(name = "单题分分值")
    @NotNull(groups = ValidGroup.Crud.Create.class, message = "单题分分值不能为空")
    @ApiModelProperty(value = "单题分分值")
    private Integer score;
    /**
     * 实际得分(主观题)
     */
    @Excel(name = "实际得分(主观题)")
    @ApiModelProperty(value = "实际得分(主观题)")
    private Integer actualScore;
    /**
     * 是否答对(0 错 ，1 对)
     */
    @Excel(name = "是否答对(0 错 ，1 对)")
    @NotNull(groups = ValidGroup.Crud.Create.class, message = "是否答对(0 错 ，1 对)不能为空")
    @ApiModelProperty(value = "是否答对(0 错 ，1 对)")
    private Integer isRight;

    private String content;

    private String analysis;
    /**
     * 选项集合
     */
    private List<ElCourseChapterQuAnswer> chapterQuAnswerList;

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

    public Long getId() {
        return id;
    }

    public void setCourseChapterId(Long courseChapterId) {
        this.courseChapterId = courseChapterId;
    }

    public Long getCourseChapterId() {
        return courseChapterId;
    }

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

    public Long getQuId() {
        return quId;
    }

    public Integer getQuType() {
        return quType;
    }

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

    public void setAnswered(Integer answered) {
        this.answered = answered;
    }

    public Integer getAnswered() {
        return answered;
    }

    public void setAnswer(String answer) {
        this.answer = answer;
    }

    public String getAnswer() {
        return answer;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public Integer getScore() {
        return score;
    }

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

    public Integer getActualScore() {
        return actualScore;
    }

    public void setActualScore(Integer actualScore) {
        this.actualScore = actualScore;
    }

    public void setIsRight(Integer isRight) {
        this.isRight = isRight;
    }

    public Integer getIsRight() {
        return isRight;
    }

    public List<ElCourseChapterQuAnswer> getChapterQuAnswerList() {
        return chapterQuAnswerList;
    }

    public void setChapterQuAnswerList(List<ElCourseChapterQuAnswer> chapterQuAnswerList) {
        this.chapterQuAnswerList = chapterQuAnswerList;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getAnalysis() {
        return analysis;
    }

    public void setAnalysis(String analysis) {
        this.analysis = analysis;
    }
}
