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<KnowledgeBaseVector> {
|
|
/**
|
* 查询知识库的文件向量状态列表
|
*/
|
@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<KnowledgeBaseVectorVO> 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);
|
}
|