97 lines
4.1 KiB
Plaintext
97 lines
4.1 KiB
Plaintext
# 项目重构操作日志 请遵守此规则开发
|
||
## 每次需要操作完成都需要写入次此文件作为记录
|
||
|
||
## 重构计划
|
||
|
||
### 1. 目录结构优化 (DDD设计原则)
|
||
- [x] 按业务领域划分模块:用户、抽奖、文件管理
|
||
- 已完成用户领域的重构,包含domain、repository和service层
|
||
- 已完成抽奖领域的重构,包含domain、repository和service层
|
||
- 已完成文件管理领域的重构,包含domain、repository和service层
|
||
- [x] 每个领域模块包含自己的控制器、服务、模型和仓储层
|
||
- 已删除旧的models目录下的文件:file.go、user.go、song.go、menu.go
|
||
- 已删除旧的services目录下的文件:file_service.go、user_service.go、lottery_service.go、menu_service.go、interfaces.go、rabbitmq_service.go、redis_service.go
|
||
- 已删除旧的controllers目录下的文件:file_controller.go、user_controller.go、lottery_controller.go、menu_controller.go
|
||
|
||
### 2. 依赖关系优化
|
||
- [x] 修正包引用路径
|
||
- 更新container.go中的包引用路径为ly.system.api
|
||
- 更新routes.go中的包引用路径为ly.system.api,移除旧的controllers包引用
|
||
- 更新utils/jwt.go中的包引用路径为ly.system.api
|
||
- 完成internal目录下所有领域模块的包引用路径检查
|
||
- 完成pkg目录下的包引用路径检查
|
||
- 完成middlewares目录下的包引用路径检查
|
||
- 完成tests目录下的包引用路径检查
|
||
- [ ] 引入依赖倒置原则
|
||
- [ ] 通过接口解耦服务层
|
||
- [ ] 优化依赖注入机制
|
||
|
||
### 3. 配置管理统一
|
||
- [ ] 统一配置文件管理
|
||
- [ ] 实现多环境支持
|
||
|
||
### 4. 错误处理机制
|
||
- [ ] 实现统一的错误处理服务
|
||
- [ ] 规范化错误返回格式
|
||
|
||
### 5. 日志服务规范化
|
||
- [ ] 实现统一的日志记录服务
|
||
- [ ] 规范化日志格式
|
||
|
||
### 6. 测试覆盖完善
|
||
- [ ] 补充单元测试
|
||
- [ ] 补充集成测试
|
||
|
||
## 操作记录
|
||
|
||
### 2024-01-10
|
||
1. 删除旧的目录结构:
|
||
- 删除controllers目录
|
||
- 删除models目录
|
||
- 删除services目录
|
||
- 删除interfaces目录
|
||
- 删除event_handlers目录
|
||
|
||
这些目录的功能已经被迁移到internal目录下的对应领域模块中。
|
||
|
||
### 2025-02-06
|
||
1. 创建重构操作日志文件
|
||
2. 制定重构计划
|
||
3. 完成用户领域的DDD架构重构:
|
||
- 创建internal/user/domain目录,定义User领域模型
|
||
- 创建internal/user/repository目录,实现用户仓储层
|
||
- 创建internal/user/service目录,实现用户服务层
|
||
4. 完成抽奖领域的DDD架构重构:
|
||
- 创建internal/lottery/domain目录,定义Song领域模型
|
||
- 创建internal/lottery/repository目录,实现歌曲仓储层
|
||
- 创建internal/lottery/service目录,实现抽奖服务层
|
||
5. 完成文件管理领域的重构:
|
||
- 创建internal/file/domain目录,定义File领域模型
|
||
- 创建internal/file/repository目录,实现文件仓储层
|
||
- 创建internal/file/service目录,实现文件服务层
|
||
|
||
### 2025-02-07
|
||
1. 重构文件服务层:
|
||
- 优化FileService接口设计,实现文件上传、下载和进度查询功能
|
||
- 实现分片上传功能,支持大文件断点续传
|
||
- 添加Redis服务用于存储文件上传进度
|
||
- 实现文件合并功能,支持分片文件的合并处理
|
||
- 完善错误处理和日志记录
|
||
2. 修正包引用路径:
|
||
- 更新container.go中的包引用路径,将其修改为ly.system.api
|
||
- 更新routes.go中的包引用路径,将其修改为ly.system.api
|
||
- 更新utils/jwt.go中的包引用路径,将其修改为ly.system.api
|
||
|
||
### 2025-02-08
|
||
1. 开始依赖关系优化:
|
||
- 分析现有服务层代码,识别紧耦合的关系
|
||
- 在lottery_service.go中引入依赖倒置原则,将SongRepository作为接口注入
|
||
- 优化container.go中的服务初始化逻辑,减少服务间的直接依赖
|
||
- 重构服务层接口,确保遵循接口隔离原则
|
||
- 调整依赖注入机制,使用更灵活的工厂模式创建服务实例
|
||
|
||
### 2024-01-11
|
||
1. 优化utils/jwt.go文件:
|
||
- 移除未使用的uuid包引用
|
||
- 优化包引用路径,确保使用ly.system.api作为基础路径
|
||
- 完善JWT相关功能的实现,包括令牌生成和解析 |