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

import cn.hutool.core.date.DateUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.project.business.domain.train.TtQuestionDatabase;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;

import java.time.LocalDateTime;

/**
 * @TableName tt_question_database
 */
@EqualsAndHashCode
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class QuestionDatabaseRes {

    /**
     * ID
     */
    private Long id;
    /**
     * 题目名称
     */
    private String questionContext;
    /**
     * 题目类型（01：单选题 02：多选梯 03 判断题 04问答题）
     */
    private String questionType;
    /**
     * 分值
     */
    private Integer score;
    /**
     * 标准答案
     */
    private String correctAnswer;

    /**
     * 试题目录ID
     */
    private Long directoryId;
    /**
     * 启用标记（0：启用  1：停用）
     */
    private String status;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDateTime createTime;
    /**
     * 创建人
     */
    private Long createBy;
    /**
     * 创建人
     */
    private String createByName;
    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDateTime updateTime;
    /**
     * 更新人
     */
    private Long updateBy;
    /**
     * 更新人
     */
    private String updateByName;
    /**
     * 选择项1
     */
    private String option1;
    /**
     * 选择项2
     */
    private String option2;
    /**
     * 选择项3
     */
    private String option3;
    /**
     * 选择项4
     */
    private String option4;
    /**
     * 选择项5
     */
    private String option5;
    /**
     * 选择项6
     */
    private String option6;
    /**
     * 选择项7
     */
    private String option7;
    /**
     * 选择项8
     */
    private String option8;
    /**
     * 选择项9
     */
    private String option9;
    /**
     * 选择项10
     */
    private String option10;

    public static QuestionDatabaseRes from(TtQuestionDatabase questionDatabase) {
        QuestionDatabaseRes build = QuestionDatabaseRes.builder().build();
        BeanUtils.copyProperties(questionDatabase, build);
        build.setCreateTime(DateUtil.toLocalDateTime(questionDatabase.getCreateTime()))
                .setCreateBy(StringUtils.isBlank(questionDatabase.getCreateBy()) ? null : Long.valueOf(questionDatabase.getCreateBy()))
                .setUpdateTime(DateUtil.toLocalDateTime(questionDatabase.getUpdateTime()))
                .setUpdateBy(StringUtils.isBlank(questionDatabase.getUpdateBy()) ? null : Long.valueOf(questionDatabase.getUpdateBy()));
        return build;


        // return QuestionDatabaseRes.builder()
        //         .id(questionDatabase.getId())
        //         .questionContext(questionDatabase.getQuestionContext())
        //         .questionType(questionDatabase.getQuestionType())
        //         .score(questionDatabase.getScore())
        //         .correctAnswer(questionDatabase.getCorrectAnswer())
        //         .directoryId(questionDatabase.getDirectoryId())
        //         .status(questionDatabase.getStatus())
        //         .createTime(DateUtil.toLocalDateTime(questionDatabase.getCreateTime()))
        //         .createBy(StringUtils.isBlank(questionDatabase.getCreateBy()) ? null : Long.valueOf(questionDatabase.getCreateBy()))
        //         .updateTime(DateUtil.toLocalDateTime(questionDatabase.getUpdateTime()))
        //         .updateBy(StringUtils.isBlank(questionDatabase.getUpdateBy()) ? null : Long.valueOf(questionDatabase.getUpdateBy()))
        //         .build();
    }


}
