feat(knowledge): 添加知识库目录管理功能

- 在知识条目表中新增relative_path字段用于存储条目相对路径
- 创建知识条目目录表用于管理知识库中的目录结构
- 实现目录的增删查接口和相应的应用服务逻辑
- 在前端知识库详情页面集成目录显示和操作功能
- 添加目录创建删除等相关的API接口和DTO定义
- 更新数据库初始化脚本包含新的目录表结构
This commit is contained in:
2026-01-31 18:36:40 +08:00
parent 310bc356b1
commit c23a9da8cb
16 changed files with 571 additions and 20 deletions

View File

@@ -158,6 +158,7 @@ CREATE TABLE IF NOT EXISTS t_dm_knowledge_items (
sensitivity VARCHAR(50) COMMENT '敏感级别',
source_dataset_id VARCHAR(36) COMMENT '来源数据集ID',
source_file_id VARCHAR(36) COMMENT '来源文件ID',
relative_path VARCHAR(1000) COMMENT '条目相对路径',
tags JSON COMMENT '标签列表',
metadata JSON COMMENT '扩展元数据',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
@@ -174,9 +175,26 @@ CREATE TABLE IF NOT EXISTS t_dm_knowledge_items (
INDEX idx_dm_ki_valid_from (valid_from),
INDEX idx_dm_ki_valid_to (valid_to),
INDEX idx_dm_ki_source_dataset (source_dataset_id),
INDEX idx_dm_ki_source_file (source_file_id)
INDEX idx_dm_ki_source_file (source_file_id),
INDEX idx_dm_ki_relative_path (relative_path)
) COMMENT='知识条目表(UUID 主键)';
-- 知识条目目录表
CREATE TABLE IF NOT EXISTS t_dm_knowledge_item_directories (
id VARCHAR(36) PRIMARY KEY COMMENT 'UUID',
set_id VARCHAR(36) NOT NULL COMMENT '所属知识集ID(UUID)',
name VARCHAR(255) NOT NULL COMMENT '目录名称',
relative_path VARCHAR(1000) NOT NULL COMMENT '目录相对路径',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
created_by VARCHAR(255) COMMENT '创建者',
updated_by VARCHAR(255) COMMENT '更新者',
FOREIGN KEY (set_id) REFERENCES t_dm_knowledge_sets(id) ON DELETE CASCADE,
UNIQUE KEY uk_dm_kd_set_path (set_id, relative_path),
INDEX idx_dm_kd_set_id (set_id),
INDEX idx_dm_kd_relative_path (relative_path)
) COMMENT='知识条目目录表(UUID 主键)';
-- ===========================================
-- 非数据管理表(如 users、t_data_sources)保持不变
-- ===========================================