refactor(service): 统一Service缓存为VO对象并优化关联实体处理
重构Service类实现,将QueryService泛型参数调整为VO类型,确保缓存VO对象而非实体。优化关联实体处理逻辑,减少重复代码。修改findById方法返回VO对象,新增getById方法获取实体。更新相关调用点以适配新接口。 调整WebSocket处理、控制器及Service实现,确保数据类型一致性。完善文档记录重构过程及发现的问题。为后续优化提供基础架构支持。
This commit is contained in:
@@ -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服务测试用例
|
||||
|
||||
Reference in New Issue
Block a user