任务2.5
This commit is contained in:
@@ -94,27 +94,27 @@
|
||||
|
||||
### 2.5 `user` 模块
|
||||
|
||||
- [ ] 2.5.1 **创建并修改 `internal/app/service/user_service.go`:**
|
||||
- [ ] 定义 `UserService` 接口,包含 `CreateUser`, `Login`, `SendTestNotification` 等方法。
|
||||
- [ ] 为 `CreateUser`, `Login` 方法定义并接收 DTO 作为输入。
|
||||
- [ ] 将 `CreateUser`, `Login` 方法的返回值 `models.User` 替换为 `dto.CreateUserResponse` 或 `dto.LoginResponse`。
|
||||
- [ ] 调整 `SendTestNotification` 方法,使其接收 DTO 或基本参数,并封装所有业务逻辑。
|
||||
- [ ] 实现 `UserService` 接口。
|
||||
- [ ] 在服务层内部将输入 DTO 转换为 `models` 对象。
|
||||
- [ ] 在服务层内部将 `repository` 返回的 `models` 对象转换为 `dto.XxxResponse`。
|
||||
- [ ] 将 `CreateUser` 中处理用户名重复的业务逻辑从控制器移入服务层。
|
||||
- [ ] 将 `Login` 中进行密码验证的业务逻辑和协调 `tokenService` 的逻辑从控制器移入服务层。
|
||||
- [ ] 将 `SendTestNotification` 中调用 `domain_notify.Service` 的逻辑移入服务层。
|
||||
- [ ] 将控制器中通过检查底层(仓库层或服务层)的特定错误类型或错误信息来执行业务判断的逻辑移入服务层。
|
||||
- [ ] 2.5.2 **修改 `internal/app/controller/user/user_controller.go`:**
|
||||
- [ ] 引入并使用新创建的 `user_service`。
|
||||
- [ ] 移除控制器中直接创建 `models.User` 对象的逻辑。
|
||||
- [ ] 移除控制器中处理用户名重复的业务逻辑。
|
||||
- [ ] 移除控制器中进行密码验证的业务逻辑和协调 `tokenService` 的逻辑。
|
||||
- [ ] 移除控制器中通过检查底层(仓库层或服务层)的特定错误类型或错误信息来执行业务判断的逻辑。
|
||||
- [ ] 调整服务层方法的调用,使其接收新的服务层输入 DTO 或基本参数,并直接处理服务层返回的 `dto.XxxResponse`。
|
||||
- [ ] 2.5.2 **修改 `internal/core/component_initializers.go`**:创建并提供新的 `UserService`。
|
||||
- [ ] 2.5.3 **修改 `internal/app/api/api.go`**:更新 `UserController` 的依赖注入。
|
||||
- [x] 2.5.1 **创建并修改 `internal/app/service/user_service.go`:**
|
||||
- [x] 定义 `UserService` 接口,包含 `CreateUser`, `Login`, `SendTestNotification` 等方法。
|
||||
- [x] 为 `CreateUser`, `Login` 方法定义并接收 DTO 作为输入。
|
||||
- [x] 将 `CreateUser`, `Login` 方法的返回值 `models.User` 替换为 `dto.CreateUserResponse` 或 `dto.LoginResponse`。
|
||||
- [x] 调整 `SendTestNotification` 方法,使其接收 DTO 或基本参数,并封装所有业务逻辑。
|
||||
- [x] 实现 `UserService` 接口。
|
||||
- [x] 在服务层内部将输入 DTO 转换为 `models` 对象。
|
||||
- [x] 在服务层内部将 `repository` 返回的 `models` 对象转换为 `dto.XxxResponse`。
|
||||
- [x] 将 `CreateUser` 中处理用户名重复的业务逻辑从控制器移入服务层。
|
||||
- [x] 将 `Login` 中进行密码验证的业务逻辑和协调 `tokenService` 的逻辑从控制器移入服务层。
|
||||
- [x] 将 `SendTestNotification` 中调用 `domain_notify.Service` 的逻辑移入服务层。
|
||||
- [x] 将控制器中通过检查底层(仓库层或服务层)的特定错误类型或错误信息来执行业务判断的逻辑移入服务层。
|
||||
- [x] 2.5.2 **修改 `internal/app/controller/user/user_controller.go`:**
|
||||
- [x] 引入并使用新创建的 `user_service`。
|
||||
- [x] 移除控制器中直接创建 `models.User` 对象的逻辑。
|
||||
- [x] 移除控制器中处理用户名重复的业务逻辑。
|
||||
- [x] 移除控制器中进行密码验证的业务逻辑和协调 `tokenService` 的逻辑。
|
||||
- [x] 移除控制器中通过检查底层(仓库层或服务层)的特定错误类型或错误信息来执行业务判断的逻辑。
|
||||
- [x] 调整服务层方法的调用,使其接收新的服务层输入 DTO 或基本参数,并直接处理服务层返回的 `dto.XxxResponse`。
|
||||
- [x] 2.5.2 **修改 `internal/core/component_initializers.go`**:创建并提供新的 `UserService`。
|
||||
- [x] 2.5.3 **修改 `internal/app/api/api.go`**:更新 `UserController` 的依赖注入。
|
||||
|
||||
## 3. 验证与测试
|
||||
|
||||
|
||||
Reference in New Issue
Block a user