issue_49 #51

Merged
huang merged 17 commits from issue_49 into main 2025-10-31 17:05:23 +08:00
Showing only changes of commit 4e87436cc0 - Show all commits

View File

@@ -95,26 +95,22 @@
### 2.5 `user` 模块
- [ ] 2.5.1 **创建并修改 `internal/app/service/user_service.go`**
- [ ] 定义 `UserService` 接口,包含 `CreateUser`, `Login`, `ListUserHistory`, `SendTestNotification` 等方法。
- [ ] 定义 `UserService` 接口,包含 `CreateUser`, `Login`, `SendTestNotification` 等方法。
- [ ]`CreateUser`, `Login` 方法定义并接收 DTO 作为输入。
- [ ]`CreateUser`, `Login` 方法的返回值 `models.User` 替换为 `dto.CreateUserResponse``dto.LoginResponse`
- [ ] 调整 `ListUserHistory` 方法的 `opts repository.UserActionLogListOptions` 参数替换为服务层自定义的查询 DTO
或一系列基本参数,并将其返回值 `[]models.UserActionLog` 替换为 `[]dto.ListUserActionLogResponse`
- [ ] 调整 `SendTestNotification` 方法,使其接收 DTO 或基本参数,并封装所有业务逻辑。
- [ ] 实现 `UserService` 接口。
- [ ] 在服务层内部将输入 DTO 转换为 `models` 对象。
- [ ] 在服务层内部将 `repository` 返回的 `models` 对象转换为 `dto.XxxResponse`
- [ ]`CreateUser` 中处理用户名重复的业务逻辑从控制器移入服务层。
- [ ]`Login` 中进行密码验证的业务逻辑和协调 `tokenService` 的逻辑从控制器移入服务层。
- [ ]`ListUserHistory` 中强制覆盖 `UserID`、构建仓库层查询选项、枚举类型转换、以及处理服务层特定错误的逻辑从控制器移入服务层。
- [ ]`SendTestNotification` 中调用 `domain_notify.Service` 的逻辑移入服务层。
- [ ] 将控制器中通过检查底层(仓库层或服务层)的特定错误类型或错误信息来执行业务判断的逻辑移入服务层。
- [ ] 2.5.2 **修改 `internal/app/controller/user/user_controller.go`**
- [ ] 引入并使用新创建的 `user_service`
- [ ] 移除控制器中直接创建 `models.User` 对象`repository.UserActionLogListOptions` 的逻辑。
- [ ] 移除控制器中直接创建 `models.User` 对象的逻辑。
- [ ] 移除控制器中处理用户名重复的业务逻辑。
- [ ] 移除控制器中进行密码验证的业务逻辑和协调 `tokenService` 的逻辑。
- [ ] 移除控制器中强制覆盖 `UserID`、构建仓库层查询选项、枚举类型转换、以及处理服务层特定错误的逻辑。
- [ ] 移除控制器中通过检查底层(仓库层或服务层)的特定错误类型或错误信息来执行业务判断的逻辑。
- [ ] 调整服务层方法的调用,使其接收新的服务层输入 DTO 或基本参数,并直接处理服务层返回的 `dto.XxxResponse`
- [ ] 2.5.2 **修改 `internal/core/component_initializers.go`**:创建并提供新的 `UserService`
@@ -124,4 +120,4 @@
- [ ] 3.1 运行所有单元测试和集成测试,确保重构没有引入新的问题。
- [ ] 3.2 针对受影响的 API 接口进行手动测试,验证功能是否正常。
- [ ] 3.3 确保日志输出和审计记录仍然准确无误
- [ ] 3.3 确保日志输出和审计记录仍然准确无误.