feat(data-management): 添加知识库管理功能

- 在DataManagementErrorCode中新增知识库相关错误码定义
- 在数据库初始化脚本中创建知识集和知识条目表结构
- 新增KnowledgeItemApplicationService实现知识条目的CRUD操作
- 新增KnowledgeSetApplicationService实现知识集的CRUD操作
- 定义KnowledgeContentType、KnowledgeSourceType和KnowledgeStatusType枚举类型
- 创建KnowledgeItem和KnowledgeSet领域模型实体
- 实现KnowledgeItemMapper和KnowledgeSetMapper数据访问接口
- 提供KnowledgeItemRepositoryImpl和KnowledgeSetRepositoryImpl仓储实现
- 添加知识条目按条件分页查询功能
- 实现知识条目从数据集文件导入的功能
- 支持知识集和知识条目的标签管理和状态控制
This commit is contained in:
2026-01-21 11:32:45 +08:00
parent ecec69422d
commit e78acbea0a
27 changed files with 1740 additions and 1 deletions

View File

@@ -115,6 +115,69 @@ CREATE TABLE IF NOT EXISTS t_dm_dataset_tags (
FOREIGN KEY (tag_id) REFERENCES t_dm_tags(id) ON DELETE CASCADE
) COMMENT='数据集标签关联表(UUID 外键)';
-- 知识集表
CREATE TABLE IF NOT EXISTS t_dm_knowledge_sets (
id VARCHAR(36) PRIMARY KEY COMMENT 'UUID',
name VARCHAR(255) NOT NULL COMMENT '知识集名称',
description TEXT COMMENT '知识集描述',
status VARCHAR(50) DEFAULT 'DRAFT' COMMENT '状态:DRAFT/PUBLISHED/ARCHIVED/DEPRECATED',
domain VARCHAR(100) COMMENT '领域',
business_line VARCHAR(100) COMMENT '业务线',
owner VARCHAR(100) COMMENT '负责人',
valid_from DATE COMMENT '有效期开始',
valid_to DATE COMMENT '有效期结束',
source_type VARCHAR(50) COMMENT '来源类型:MANUAL/DATASET_FILE',
sensitivity VARCHAR(50) COMMENT '敏感级别',
tags JSON COMMENT '标签列表',
metadata JSON 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 '更新者',
INDEX idx_dm_ks_status (status),
INDEX idx_dm_ks_domain (domain),
INDEX idx_dm_ks_business_line (business_line),
INDEX idx_dm_ks_owner (owner),
INDEX idx_dm_ks_valid_from (valid_from),
INDEX idx_dm_ks_valid_to (valid_to)
) COMMENT='知识集表(UUID 主键)';
-- 知识条目表
CREATE TABLE IF NOT EXISTS t_dm_knowledge_items (
id VARCHAR(36) PRIMARY KEY COMMENT 'UUID',
set_id VARCHAR(36) NOT NULL COMMENT '所属知识集ID(UUID)',
title VARCHAR(255) NOT NULL COMMENT '标题',
content LONGTEXT NOT NULL COMMENT '内容',
content_type VARCHAR(20) NOT NULL COMMENT '内容类型:TEXT/MARKDOWN',
status VARCHAR(50) DEFAULT 'DRAFT' COMMENT '状态:DRAFT/PUBLISHED/ARCHIVED/DEPRECATED',
domain VARCHAR(100) COMMENT '领域',
business_line VARCHAR(100) COMMENT '业务线',
owner VARCHAR(100) COMMENT '负责人',
valid_from DATE COMMENT '有效期开始',
valid_to DATE COMMENT '有效期结束',
source_type VARCHAR(50) COMMENT '来源类型:MANUAL/DATASET_FILE',
sensitivity VARCHAR(50) COMMENT '敏感级别',
source_dataset_id VARCHAR(36) COMMENT '来源数据集ID',
source_file_id VARCHAR(36) COMMENT '来源文件ID',
tags JSON COMMENT '标签列表',
metadata JSON 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,
INDEX idx_dm_ki_set_id (set_id),
INDEX idx_dm_ki_status (status),
INDEX idx_dm_ki_content_type (content_type),
INDEX idx_dm_ki_domain (domain),
INDEX idx_dm_ki_business_line (business_line),
INDEX idx_dm_ki_owner (owner),
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)
) COMMENT='知识条目表(UUID 主键)';
-- ===========================================
-- 非数据管理表(如 users、t_data_sources)保持不变
-- ===========================================