package top.tqx.demo_1.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

@Data
public class ExamPaperGenerateResponse implements Serializable {

    private static final long serialVersionUID = 1L;

    private Boolean success;

    @JsonProperty("paper_id")
    private String paperId;

    @JsonProperty("paper_title")
    private String paperTitle;

    @JsonProperty("total_score")
    private BigDecimal totalScore;

    @JsonProperty("question_count")
    private Integer questionCount;

    @JsonProperty("generated_at")
    private LocalDateTime generatedAt;

    @JsonProperty("permission_scope")
    private String permissionScope;

    @JsonProperty("warnings")
    private Map<String, String> warnings;

    private List<ExamPaperQuestion> questions;

    @Data
    public static class ExamPaperQuestion implements Serializable {
        private static final long serialVersionUID = 1L;

        @JsonProperty("question_id")
        private String questionId;

        @JsonProperty("question_type")
        private String questionType;

        @JsonProperty("question_type_name")
        private String questionTypeName;

        private Integer difficulty;

        private BigDecimal score;

        @JsonProperty("content")
        private Object content;

        @JsonProperty("document_name")
        private String documentName;

        @JsonProperty("knowledge_base_path")
        private String knowledgeBasePath;
    }
}
