zhuyongxin
|
e76d4ce48f
|
feat(phase1): 完成文档查询和删除接口
Task 5.4: 文档查询接口
- DocumentManagementService 新增查询方法:
- queryDocumentById: 根据 docId 查询单个文档
- queryDocumentsByStatus: 根据状态查询(分页)
- queryDocumentsByFaultSource: 根据故障源查询
- convertToResponse: 实体转 DTO 工具方法
- DocumentController 新增 RESTful 接口:
- GET /api/documents/{docId}
- GET /api/documents/status/{status}?page=0&size=20
- GET /api/documents/faultSource/{faultSource}
Task 5.5: 文档删除接口
- DocumentManagementService 新增删除方法:
- deleteDocument: 删除文档元数据
- TODO: 向量索引删除待实现
- DocumentController 新增删除接口:
- DELETE /api/documents/{docId}
功能特性:
- 统一异常处理:DocumentProcessException
- 统一响应格式:Result<T>
- 分页支持:Page/PageRequest
- 事务支持:@Transactional
编译验证:BUILD SUCCESS
Progress: 28/33 tasks completed (85%)
|
2026-06-23 15:48:04 +08:00 |
|
zhuyongxin
|
f446290d0f
|
feat(phase1): 完成文档上传接口
Task 5.3: 文档上传接口
- 创建 DocumentManagementService:文档上传核心逻辑
- 文件格式验证(仅 .md/.txt)
- 文件 hash 计算与去重检查
- 文本提取与分块处理
- 文档元数据持久化(ApiDocument)
- 向量化索引标记为 TODO(待补充)
- 创建 DocumentController:RESTful 上传接口
- POST /api/documents/upload
- 支持参数:file, faultCategory, faultSource, apiName, version
- 返回:文档 docId
功能特性:
- MD5 hash 去重:防止重复上传
- 事务支持:元数据与索引状态一致性
- 异常处理:DocumentProcessException 统一封装
- 分块配置:使用 DocumentChunkConfig 默认配置
待补充:
- TODO: VectorIndexService.indexDocumentChunks() 实现
- 当前文档状态直接标记为 INDEXED
编译验证:BUILD SUCCESS
Progress: 26/33 tasks completed (79%)
|
2026-06-23 15:28:02 +08:00 |
|
zhuyongxin
|
ea77518880
|
feat(phase1): 完成文本提取和文档分块服务
Task 5.1: TextExtractor 服务
- 创建 TextExtractorService(仅支持 .md 和 .txt)
- 其他格式(.docx、.pdf)需通过外部转换服务先转为 Markdown
- 支持 UTF-8 编码的纯文本提取
- 提供文件格式验证方法
Task 5.2: 文档分块服务适配
- 修改 DocumentChunk DTO:添加 @Builder 支持
- 字段重命名:startIndex/endIndex → startOffset/endOffset
- 修复 DocumentChunkService 中的三处构造调用
- 使用 builder 模式替代构造函数
技术决策:
- 简化文本提取,只支持 Markdown 和纯文本
- 复杂格式转换由外部服务处理(分离关注点)
- 统一使用 Lombok @Builder 简化对象构建
编译验证:BUILD SUCCESS
Progress: 25/33 tasks completed (76%)
|
2026-06-23 15:15:10 +08:00 |
|
zhuyongxin
|
c3a232540a
|
refactor(phase1): 完成包名重构 (org.example → com.superbiz.agent)
Task 4.1: 包名统一重构
- 重命名 41 个 Java 文件的包名
- 更新所有 import 语句
- 恢复枚举类(FaultCategory、DiagnosisStatus、SourceType)
- 更新测试类的 import
重构范围:
- domain/entity: 3 个实体类
- domain/model: 2 个数据类
- domain/enums: 3 个枚举类
- repository: 3 个接口
- service/session: 2 个类(接口 + 实现)
- config: 9 个配置类
- controller: 2 个控制器
- agent/tool: 4 个工具类
- client: 1 个客户端
- Main.java: 主类
验证结果:
- 编译成功,无错误
- 所有测试通过 (27/27)
- ApiDocumentRepositoryTest: 7/7 ✅
- CaseLibraryRepositoryTest: 6/6 ✅
- DiagnosisRecordRepositoryTest: 6/6 ✅
- RedisSessionManagerTest: 8/8 ✅
Progress: 21/33 tasks completed (64%)
|
2026-06-23 14:56:04 +08:00 |
|