package com.ruoyi.project.business.domain.train;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.ruoyi.framework.web.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * @TableName tt_question_database
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class TtQuestionDatabase extends BaseEntity {

    /**
     * ID
     */
    @NotNull(message = "[ID]不能为空")
    @ApiModelProperty("ID")
    @TableId( value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 题目类型（01：单选题 02：多选梯 03 判断题 04 问答题）
     */
    @Size(max = 60, message = "编码长度不能超过60")
    @ApiModelProperty("题目类型（01：单选题 02：多选梯 03 判断题 04问答题）")
    @Length(max = 60, message = "编码长度不能超过60")
    private String questionType;
    /**
     * 题目名称
     */
    @Size(max = 500, message = "编码长度不能超过500")
    @ApiModelProperty("题目名称")
    @Length(max = 500, message = "编码长度不能超过500")
    private String questionContext;
    /**
     * 分值
     */
    @ApiModelProperty("分值")
    private Integer score;
    /**
     * 标准答案
     */
    @Size(max = 500, message = "编码长度不能超过500")
    @ApiModelProperty("标准答案")
    @Length(max = 500, message = "编码长度不能超过500")
    private String correctAnswer;
    /**
     * 选择项1
     */
    @Size(max = 255, message = "编码长度不能超过255")
    @ApiModelProperty("选择项1")
    @Length(max = 255, message = "编码长度不能超过255")
    private String option1;
    /**
     * 选择项2
     */
    @Size(max = 255, message = "编码长度不能超过255")
    @ApiModelProperty("选择项2")
    @Length(max = 255, message = "编码长度不能超过255")
    private String option2;
    /**
     * 选择项3
     */
    @Size(max = 255, message = "编码长度不能超过255")
    @ApiModelProperty("选择项3")
    @Length(max = 255, message = "编码长度不能超过255")
    private String option3;
    /**
     * 选择项4
     */
    @Size(max = 255, message = "编码长度不能超过255")
    @ApiModelProperty("选择项4")
    @Length(max = 255, message = "编码长度不能超过255")
    private String option4;
    /**
     * 选择项5
     */
    @Size(max = 255, message = "编码长度不能超过255")
    @ApiModelProperty("选择项5")
    @Length(max = 255, message = "编码长度不能超过255")
    private String option5;
    /**
     * 选择项6
     */
    @Size(max = 255, message = "编码长度不能超过255")
    @ApiModelProperty("选择项6")
    @Length(max = 255, message = "编码长度不能超过255")
    private String option6;
    /**
     * 选择项7
     */
    @Size(max = 255, message = "编码长度不能超过255")
    @ApiModelProperty("选择项7")
    @Length(max = 255, message = "编码长度不能超过255")
    private String option7;
    /**
     * 选择项8
     */
    @Size(max = 255, message = "编码长度不能超过255")
    @ApiModelProperty("选择项8")
    @Length(max = 255, message = "编码长度不能超过255")
    private String option8;
    /**
     * 选择项9
     */
    @Size(max = 255, message = "编码长度不能超过255")
    @ApiModelProperty("选择项9")
    @Length(max = 255, message = "编码长度不能超过255")
    private String option9;
    /**
     * 选择项10
     */
    @Size(max = 255, message = "编码长度不能超过255")
    @ApiModelProperty("选择项10")
    @Length(max = 255, message = "编码长度不能超过255")
    private String option10;
    /**
     * 试题目录ID
     */
    @ApiModelProperty("试题目录ID")
    private Long directoryId;
    /**
     * 启用标记（0：启用  1：停用）
     */
    @ApiModelProperty("启用标记（0：启用  1：停用）")
    private String status;
    /**
     * 删除标记（0：未删除  1：已删除）
     */
    @ApiModelProperty("删除标记（0：未删除  1：已删除）")
    @TableLogic
    private String delFlag;

}
