重构项目结构:迁移到单体架构并优化代码组织

- 删除分布式架构相关文件和配置
- 将backend-distributed重命名为backend保留分布式代码作为参考
- 优化backend-single单体架构实现
- 添加Coze API集成相关文档和测试
- 清理项目根目录的部署脚本和配置文件
- 更新WebSocket和消息服务实现
- 完善认证服务和密码加密功能
This commit is contained in:
2025-07-24 22:16:27 +08:00
parent 847f5126cf
commit ca42a7d9a4
308 changed files with 1263 additions and 13496 deletions
+148
View File
@@ -0,0 +1,148 @@
# Controller层重构总结
## 重构概述
本次重构主要完成了以下工作:
1. **创建统一的request和response包结构**
2. **建立全局异常处理机制**
3. **重构所有Controller层代码**
4. **优化接口入参和出参规范**
## 完成的工作
### 1. 创建统一的基础类
#### 在emotion-common模块中创建:
- `BaseRequest` - 基础请求类,包含通用字段如requestId、clientIp、userAgent等
- `BaseResponse` - 基础响应类,包含通用字段如timestamp、requestId、processingTime等
- `BasePageRequest` - 基础分页请求类,继承BaseRequest,包含分页参数
- `BasePageResponse` - 基础分页响应类,继承BaseResponse,包含分页信息
#### 异常处理类:
- `BusinessException` - 业务异常
- `AuthException` - 认证异常
- `CaptchaException` - 验证码异常
- `TokenException` - Token异常
- `GlobalExceptionHandler` - 全局异常处理器
### 2. 各模块request和response类
#### emotion-ai模块:
- **Request类**
- `AiChatRequest` - AI聊天请求
- `CreateConversationRequest` - 创建会话请求
- `EmotionAnalysisRequest` - 情绪分析请求
- `GuestChatRequest` - 访客聊天请求
- `ConversationListRequest` - 会话列表请求
- **Response类**
- `AiChatResponse` - AI聊天响应
- `CreateConversationResponse` - 创建会话响应
- `EmotionAnalysisResponse` - 情绪分析响应
- `GuestChatResponse` - 访客聊天响应
- `ConversationListResponse` - 会话列表响应
#### emotion-auth模块:
- **Request类**
- `LoginRequest` - 登录请求
- `RegisterRequest` - 注册请求
- `OAuthLoginRequest` - 第三方登录请求
- `SliderCaptchaVerifyRequest` - 滑块验证码验证请求
- **Response类**
- `LoginResponse` - 登录响应
- `UserInfoResponse` - 用户信息响应
- `CaptchaResponse` - 验证码响应
- `SliderCaptchaResponse` - 滑块验证码响应
#### emotion-user模块:
- **Request类**
- `UserUpdateRequest` - 用户更新请求
- **Response类**
- `UserInfoResponse` - 用户信息响应
#### emotion-record模块:
- **Request类**
- `CreateEmotionRecordRequest` - 创建情绪记录请求
- **Response类**
- `EmotionRecordResponse` - 情绪记录响应
### 3. Controller层重构
#### 重构原则:
1. **移除业务逻辑** - 所有业务逻辑移至Service层
2. **统一入参出参** - 使用新的request/response格式
3. **移除try-catch** - 使用全局异常处理机制
4. **统一返回格式** - 使用Result包装返回结果
#### 已重构的Controller
- `AiChatController` - AI聊天控制器
- `GuestChatController` - 访客聊天控制器
- `AuthController` - 认证控制器
- `CaptchaController` - 验证码控制器
- `UserController` - 用户控制器
### 4. 全局异常处理
#### 异常处理机制:
- 统一异常处理器 `GlobalExceptionHandler`
- 支持多种异常类型处理
- 自动参数校验异常处理
- 统一错误响应格式
#### 支持的异常类型:
- 业务异常 `BusinessException`
- 认证异常 `AuthException`
- 验证码异常 `CaptchaException`
- Token异常 `TokenException`
- 参数校验异常 `MethodArgumentNotValidException`
- 系统异常 `RuntimeException``Exception`
## 代码规范
### 1. 命名规范
- Request类以`Request`结尾
- Response类以`Response`结尾
- 包名使用`request``response`
### 2. 继承关系
- 所有Request类继承`BaseRequest``BasePageRequest`
- 所有Response类继承`BaseResponse``BasePageResponse`
### 3. 注解规范
- 使用`@Schema`注解描述字段
- 使用`@Valid`注解进行参数校验
- 使用`@NotBlank``@NotNull`等校验注解
### 4. Controller规范
- 不包含业务逻辑
- 统一使用Result包装返回结果
- 不使用try-catch,依赖全局异常处理
- 接口文档完整
## 优势
1. **代码结构清晰** - 职责分离明确
2. **异常处理统一** - 全局异常处理机制
3. **接口规范统一** - 统一的入参出参格式
4. **维护性提升** - 代码更易维护和扩展
5. **开发效率提升** - 减少重复代码
## 后续工作
1. **Service层接口更新** - 确保Service层使用新的request/response格式
2. **单元测试编写** - 为重构后的代码编写测试用例
3. **接口文档更新** - 更新API文档
4. **性能测试** - 验证重构后的性能表现
## 注意事项
1. 所有Controller层不再包含业务逻辑
2. 异常处理统一由GlobalExceptionHandler处理
3. 新的request/response类需要在Service层中使用
4. 需要更新相关的单元测试和集成测试