refactor(service): 统一Service缓存为VO对象并优化关联实体处理

重构Service类实现,将QueryService泛型参数调整为VO类型,确保缓存VO对象而非实体。优化关联实体处理逻辑,减少重复代码。修改findById方法返回VO对象,新增getById方法获取实体。更新相关调用点以适配新接口。

调整WebSocket处理、控制器及Service实现,确保数据类型一致性。完善文档记录重构过程及发现的问题。为后续优化提供基础架构支持。
This commit is contained in:
2025-09-29 19:31:51 +08:00
parent 64471b46f8
commit 49413ad473
167 changed files with 6840 additions and 1811 deletions

View File

@@ -1,4 +1,4 @@
# Server模块Service缓存调整为Vo对象拆分文档
# Server模块Service缓存调整为Vo对象拆分任务文档
## 1. 任务拆分列表
@@ -16,7 +16,7 @@
**实现约束**:
- 使用搜索工具分析代码结构
- 记录每个Service类的IEntityService泛型参数VoableService泛型参数
- 记录每个Service类的IEntityService泛型参数(Model类型)和QueryService泛型参数(Vo类型)以及VoableService泛型参数
- 记录Service类中的特殊方法和缓存配置
- 特别关注WebSocketServerCallbackManager中与IEntityService接口的交互逻辑
@@ -80,8 +80,8 @@
- 修改验证报告
**实现约束**:
- Service类继承IEntityService接口泛型类型保持为Model实体类
- Service类继承QueryService接口泛型类型修改为Vo视图对象
- Service类继承IEntityService接口泛型类型为Model实体类
- Service类继承QueryService接口泛型类型为Vo视图对象
- 严格按照接口契约修改方法签名
- 正确实现数据转换逻辑
- 确保缓存注解的正确性
@@ -104,8 +104,8 @@
- 批量修改执行报告
**实现约束**:
- Service类继承IEntityService接口泛型类型保持为Model实体类
- Service类继承QueryService接口泛型类型修改为Vo视图对象
- Service类继承IEntityService接口泛型类型为Model实体类
- Service类继承QueryService接口泛型类型为Vo视图对象
- 确保每个Service类的修改一致性
- 记录修改过程中的问题和解决方法
- 验证修改后的代码编译通过
@@ -222,8 +222,8 @@
**实现约束**:
- 重点分析WebSocketServerCallbackManager中的类型处理逻辑
- 特别关注createNewEntity、findEntityTypeInInterfaces方法
- 确保WebSocket服务能够正确处理从实体类到VO类的泛型变化
- 特别关注createNewEntity、findEntityTypeInInterfaces、invokerFindByIdMethod、invokerFindAllMethod等依赖泛型参数的方法
- 确保WebSocket服务能够正确处理IEntityService<Model>到QueryService<Vo>的泛型关系
- 添加类型安全检查
- 遵循代码规范
@@ -310,7 +310,8 @@ flowchart TD
1. **执行步骤**:
- 选择一个典型的Service类作为试点
- 修改类声明中的IEntityService泛型参数
- 确保IEntityService泛型参数为Model实体类
- 确保QueryService泛型参数为Vo视图对象
- 逐一修改实现的接口方法,添加数据转换逻辑
- 应用新的缓存策略和缓存键
- 验证修改后的代码能够编译通过
@@ -326,6 +327,8 @@ flowchart TD
1. **执行步骤**:
- 基于任务4的成功经验制定批量修改计划
- 逐一修改每个注解了@CacheConfig的Service类
- 确保每个Service类的IEntityService泛型参数为Model实体类
- 确保每个Service类的QueryService泛型参数为Vo视图对象
- 对每个Service类应用相同的转换机制和缓存策略
- 记录修改过程中的问题和解决方法
- 执行编译检查确保所有修改正确
@@ -363,11 +366,12 @@ flowchart TD
### 3.8 任务8: 编写测试用例并验证修改
1. **执行步骤**:
1. **执行步骤**:
- 为每个修改后的Service类编写单元测试
- 编写集成测试验证Service类与其他组件的交互
- 测试数据转换的正确性和性能
- 特别测试缓存功能的正常运行包括VO对象的缓存和读取
- 特别测试IEntityService<Model>和QueryService<Vo>的交互逻辑
- 特别测试缓存功能的正常运行包括Vo对象的缓存和读取
- 执行所有测试并分析结果
2. **关键交付物**:
@@ -378,13 +382,13 @@ flowchart TD
### 3.9 任务9: 更新相关文档并总结
1. **执行步骤**:
- 更新项目中的相关技术文档,记录接口泛型修改和缓存策略变更
- 更新项目中的相关技术文档,记录IEntityService<Model>和QueryService<Vo>的泛型关系以及缓存策略变更
- 编写任务总结报告
- 创建TODO列表记录未完成的工作或改进建议
- 归档所有任务文档
2. **关键交付物**:
- 更新后的项目文档
- 更新后的项目文档包含IEntityService<Model>和QueryService<Vo>的泛型关系说明)
- 任务总结报告
- TODO列表
@@ -392,16 +396,16 @@ flowchart TD
1. **执行步骤**:
- 分析WebSocketServerHandler、WebSocketServerTaskManager、WebSocketServerCallbackManager的代码
- 重点研究WebSocketServerCallbackManager中与IEntityService接口交互的方法特别是createNewEntity、findEntityTypeInInterfaces等依赖泛型参数的方法
- 重点研究WebSocketServerCallbackManager中与IEntityService接口和QueryService接口交互的方法特别是createNewEntity、findEntityTypeInInterfaces等依赖泛型参数的方法
- 分析invokerFindByIdMethod、invokerFindAllMethod等方法的实现逻辑
- 识别可能受到IEntityService泛型修改影响的代码部分
- 识别可能受到IEntityService<Model>和QueryService<Vo>泛型关系影响的代码部分
- 设计WebSocket服务组件的修改方案
- 修改WebSocketServerCallbackManager中的类型处理逻辑使其适应从实体类到VO类的泛型变化
- 添加类型安全检查,确保能够正确处理VO类型
- 修改WebSocketServerCallbackManager中的类型处理逻辑使其适应IEntityService<Model>到QueryService<Vo>的泛型关系
- 添加类型安全检查,确保能够正确处理Model和Vo类型
- 编写测试用例验证修改后的WebSocket服务组件
2. **关键交付物**:
- WebSocket服务与IEntityService接口交互分析报告
- WebSocket服务与IEntityService<Model>和QueryService<Vo>接口交互分析报告
- 潜在问题和风险清单
- 修改后的WebSocketServerCallbackManager代码
- WebSocket服务测试用例