/***********************************************************
 * @Description : 问题创建的实体类
 * @author      : 梁山广(Laing Shan Guang)
 * @date        : 2019-06-02 13:26
 * @email       : liangshanguang2@gmail.com
 ***********************************************************/
package lsgwr.exam.vo;// 指定当前类所在的包路径
// 导入所需的类
import com.fasterxml.jackson.annotation.JsonProperty;// 用于指定JSON属性名与Java属性名的映射
import lombok.Data;// Lombok库提供的注解，用于自动生成getter、setter、toString等方法

import java.util.List;// Java标准库中的接口，用于表示一个有序的集合
// 使用@Data注解自动生成getter、setter、toString等方法
@Data
public class QuestionCreateVo {
    /**
     * 题目名称
     * JSON属性名为"name"，与Java属性名"questionName"映射
     */
    @JsonProperty("name")
    private String questionName;
    /**
     * 题目描述
     * JSON属性名为"desc"，与Java属性名"questionDescription"映射
     */
    @JsonProperty("desc")
    private String questionDescription;

    /**
     * 题目的分数, 默认值是5
     * JSON属性名为"score"，与Java属性名"questionScore"映射
     */
    @JsonProperty("score")
    private Integer questionScore = 5;

    /**
     * 题目的创建者的id，从token中解析得到
     * JSON属性名为"creator"，与Java属性名"questionCreatorId"映射
     */
    @JsonProperty("creator")
    private String questionCreatorId;

    /**
     * 问题的难度的id
     * JSON属性名为"level"，与Java属性名"questionLevelId"映射
     */
    @JsonProperty("level")
    private Integer questionLevelId;

    /**
     * 问题的类型(单选、多选、判断等)
     * JSON属性名为"type"，与Java属性名"questionTypeId"映射
     */
    @JsonProperty("type")
    private Integer questionTypeId;

    /**
     * 题目的类别表，从内容角度划分，比如数学、语文、英语等
     * JSON属性名为"category"，与Java属性名"questionCategoryId"映射
     */
    @JsonProperty("category")
    private Integer questionCategoryId;

    /**
     * 问题的选项列表，带上了是否是答案的true和false
     * JSON属性名为"options"，与Java属性名"questionOptionCreateVoList"映射
     * 每个选项是QuestionOptionCreateVo类型的对象
     */
    @JsonProperty("options")
    private List<QuestionOptionCreateVo> questionOptionCreateVoList;
    /**
     * 设置题目创建者id的方法
     * 注意：此方法体为空，可能是一个占位符或待实现的方法
     * 在实际开发中，应该根据业务逻辑来设置questionCreatorId的值
     * 例如，从传入的token中解析出用户id并赋值给questionCreatorId
     */
    public void setQuestionCreatorId(String userId) {
        // TODO: 实现设置题目创建者id的逻辑
    }
}
