package com.seer.teach.admin.response;

import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 知识点相似度检查响应参数
 */
@Data
@Schema(description = "知识点相似度检查响应参数")
public class KnowledgePointSimilarityCheckResp implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "检查的知识点ID")
    private Integer knowledgePointId;

    @Schema(description = "检查的知识点名称")
    private String knowledgePointName;

    @Schema(description = "检查的知识点总结")
    private String summary;

    @Schema(description = "相似知识点列表")
    private List<SimilarKnowledgePoint> similarKnowledgePoints;

    /**
     * 相似知识点内部类
     */
    @Data
    @Schema(description = "相似知识点")
    public static class SimilarKnowledgePoint implements Serializable {
        private static final long serialVersionUID = 1L;

        @Schema(description = "相似知识点ID")
        private Integer knowledgePointId;

        @Schema(description = "相似知识点名称")
        private String knowledgePointName;
        
        @Schema(description = "相似知识点总结")
        private String summary;

        @Schema(description = "相似度")
        private Double similarity;

        private List<Book> books;
        
    }

    @Data
    public static class Book {
        private String bookName;
        private Integer docId;
        private String versionName;
        private Integer isStandardVersion;
        private String unitName;
    }
}