Files
happy-life-star/server/README.md
T

195 lines
5.4 KiB
Markdown

# 情绪博物馆后端重构项目
## 项目概述
本项目是基于Spring Boot 3.4.8的情绪博物馆后端服务重构版本,从原有的Spring Boot 2.7.18升级而来。
## 重构进度
### 第一阶段:基础环境升级 ✅
#### 已完成的工作
1. **项目结构创建**
- 创建了标准的Maven项目结构
- 配置了src/main/java和src/main/resources目录
2. **Maven配置**
- 创建了pom.xml文件
- 配置了Spring Boot 3.4.8作为父项目
- 添加了所有必要的依赖:
- Spring Boot Starters (Web, Security, WebSocket, Redis, Validation, Actuator)
- MyBatis-Plus 3.5.5
- JWT 0.12.3
- SpringDoc OpenAPI 3
- Hutool 5.8.25
- Lombok
3. **配置文件**
- application.yml (主配置文件)
- application-local.yml (本地环境配置)
- 配置了数据库连接、Redis、日志等
4. **基础配置类**
- SecurityConfig (Spring Security 6.x配置)
- MybatisPlusConfig (MyBatis-Plus配置)
- RedisConfig (Redis配置)
- AsyncConfig (异步配置)
- OpenApiConfig (OpenAPI配置)
- WebClientConfig (HTTP客户端配置)
- CozeConfig (Coze API配置)
5. **主启动类**
- EmotionMuseumApplication.java
- 配置了组件扫描、缓存、异步、事务管理
6. **基础控制器**
- HealthController (健康检查接口)
#### 技术栈升级
- **Spring Boot**: 2.7.18 → 3.4.8 ✅
- **Java版本**: JDK 17 (当前使用,计划升级到JDK 21)
- **Spring Security**: 5.x → 6.x ✅
- **MyBatis-Plus**: 3.5.3.1 → 3.5.5 ✅
- **JWT**: 0.11.5 → 0.12.3 ✅
- **API文档**: Swagger → SpringDoc OpenAPI 3 ✅
#### 当前状态
- ✅ 项目能够正常编译
- ✅ 基础配置完成
- ✅ 应用程序启动成功
### 第二阶段:核心功能重构 🔄
#### 已完成的工作
1. **实体类创建**
- User (用户实体)
- DiaryPost (日记实体)
- Message (消息实体)
- Conversation (会话实体)
2. **DTO类创建**
- Result (通用响应DTO)
- LoginRequest/LoginResponse (登录相关DTO)
- RegisterRequest (注册DTO)
3. **Mapper接口创建**
- UserMapper (用户数据访问)
- DiaryPostMapper (日记数据访问)
- MessageMapper (消息数据访问)
- ConversationMapper (会话数据访问)
4. **工具类创建**
- JwtUtil (JWT工具类,适配JWT 0.12.3)
5. **认证系统重构**
- AuthService (认证服务接口)
- AuthServiceImpl (认证服务实现)
- AuthController (认证控制器)
- 支持用户注册、登录、登出、令牌刷新等功能
6. **用户管理系统重构**
- UserService (用户服务接口)
- UserServiceImpl (用户服务实现)
- UserController (用户控制器)
- 支持用户信息管理、密码修改、用户列表等功能
7. **AI对话系统重构**
- CozeApiService (Coze API服务接口)
- CozeApiServiceImpl (Coze API服务实现)
- AiChatService (AI聊天服务接口)
- AiChatServiceImpl (AI聊天服务实现)
- AiChatController (AI聊天控制器)
- 支持与Coze Bot的对话、会话管理、消息历史等功能
8. **日记系统重构**
- DiaryPostRequest (日记请求DTO)
- DiaryPostService (日记服务接口)
- DiaryPostServiceImpl (日记服务实现)
- DiaryPostController (日记控制器)
- 支持日记CRUD、AI点评、点赞、情绪标签等功能
9. **WebSocket系统重构**
- WebSocketConfig (WebSocket配置)
- ChatMessage (WebSocket消息DTO)
- WebSocketController (WebSocket控制器)
- 支持实时聊天、AI对话、消息推送等功能
10. **社区系统重构** 🔄
- Comment (评论实体)
- UserFollow (用户关注实体)
- CommentRequest/CommentResponse (评论DTO)
- CommentMapper/UserFollowMapper (数据访问层)
- CommentService/UserFollowService (服务接口)
- CommentServiceImpl (评论服务实现)
- 支持评论、回复、点赞、用户关注等功能
#### 当前状态
- ✅ 认证系统重构完成
- ✅ 用户管理系统重构完成
- ✅ AI对话系统重构完成
- ✅ 日记系统重构完成
- ✅ WebSocket系统重构完成
- ✅ 社区系统基础重构完成
- ✅ JWT 0.12.3适配完成
- ✅ 基础数据访问层完成
- 🔄 继续其他核心功能重构
## 下一步计划
### 第二阶段:核心功能重构
1. **认证系统重构**
- 重构AuthController
- 升级JWT认证机制
- 优化Spring Security配置
2. **AI对话系统重构**
- 重构AiChatController
- 实现Coze API客户端
- 优化异步处理机制
3. **用户管理系统重构**
- 重构UserController
- 优化用户信息管理
4. **日记系统重构**
- 重构DiaryPostController
- 优化日记CRUD操作
## 运行说明
### 环境要求
- JDK 17+
- Maven 3.6+
- MySQL 8.0+
- Redis 7.0+
### 启动步骤
1. 配置环境变量或修改application-local.yml中的数据库和Redis连接信息
2. 执行编译:`mvn clean compile`
3. 启动应用:`mvn spring-boot:run`
### 访问地址
- 应用地址:http://localhost:19089
- API文档:http://localhost:19089/api/swagger-ui.html
- 健康检查:http://localhost:19089/api/health
## 注意事项
1. 当前使用JDK 17,后续将升级到JDK 21
2. 数据库和Redis需要提前启动并配置
3. Coze API配置需要设置环境变量COZE_API_KEY和COZE_BOT_ID
## 问题记录
1. Spring Boot Actuator依赖问题 - 已解决
2. Spring Security 6.x配置调整 - 已解决
3. 应用程序启动测试 - 进行中