package com.ruoyi.approve.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.approve.dto.KnowledgeBaseVectorVO; import com.ruoyi.approve.pojo.KnowledgeBaseVector; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.util.List; /** * 知识库文件向量记录 Mapper */ @Mapper public interface KnowledgeBaseVectorMapper extends BaseMapper { /** * 查询知识库的文件向量状态列表 */ @Select("SELECT v.*, b.path as previewUrl " + "FROM knowledge_base_vector v " + "LEFT JOIN storage_blob b ON v.storage_blob_id = b.id " + "WHERE v.knowledge_base_id = #{knowledgeBaseId} " + "ORDER BY v.create_time DESC") List selectByKnowledgeBaseId(@Param("knowledgeBaseId") Long knowledgeBaseId); /** * 统计知识库的文件数量 */ @Select("SELECT COUNT(*) FROM knowledge_base_vector WHERE knowledge_base_id = #{knowledgeBaseId}") int countByKnowledgeBaseId(@Param("knowledgeBaseId") Long knowledgeBaseId); /** * 统计知识库的总切片数量 */ @Select("SELECT COALESCE(SUM(chunk_count), 0) FROM knowledge_base_vector WHERE knowledge_base_id = #{knowledgeBaseId} AND vector_status = 2") int sumChunkCountByKnowledgeBaseId(@Param("knowledgeBaseId") Long knowledgeBaseId); }