refactor: 统一错误消息数据源,优化错误码与映射表管理
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 4m36s
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 4m36s
主要改动: - 改造 errors.New() 和 Wrap() 函数签名为可变参数,优先使用 errorMessages 映射表 - 添加 allErrorCodes 注册表和 init() 启动时校验,确保错误码与映射表一致 - 添加 TestAllCodesHaveMessages 和 TestNoOrphanMessages 测试防止映射表腐化 - 清理 109 处与映射表一致的冗余硬编码(service 层) - 保留业务特定消息覆盖能力 新增 API 用法: - errors.New(errors.CodeUnauthorized) // 使用映射表默认消息 - errors.New(errors.CodeNotFound, "提现申请不存在") // 覆盖为自定义消息
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
# 统一错误消息数据源 - 任务清单
|
||||
|
||||
## 1. 基础设施改造
|
||||
|
||||
- [x] 1.1 在 `pkg/errors/codes.go` 中添加 `allErrorCodes` 错误码注册表
|
||||
- [x] 1.2 改造 `pkg/errors/errors.go` 中的 `New()` 函数签名为可变参数
|
||||
- [x] 1.3 改造 `pkg/errors/errors.go` 中的 `Wrap()` 函数签名为可变参数
|
||||
- [x] 1.4 在 `pkg/errors/codes.go` 中添加 `init()` 启动时校验函数
|
||||
|
||||
## 2. 测试保障
|
||||
|
||||
- [x] 2.1 在 `pkg/errors/codes_test.go` 中添加 `TestAllCodesHaveMessages` 测试
|
||||
- [x] 2.2 在 `pkg/errors/codes_test.go` 中添加 `TestNoOrphanMessages` 测试(检测孤立映射)
|
||||
- [x] 2.3 更新 `pkg/errors/handler_test.go` 测试覆盖新的函数签名
|
||||
|
||||
## 3. 业务代码清理 - Service 层
|
||||
|
||||
- [x] 3.1 清理 `internal/service/commission_withdrawal/service.go` 冗余硬编码
|
||||
- [x] 3.2 清理 `internal/service/shop/service.go` 冗余硬编码
|
||||
- [x] 3.3 清理 `internal/service/auth/service.go` 冗余硬编码
|
||||
- [x] 3.4 清理 `internal/service/shop_account/service.go` 冗余硬编码
|
||||
- [x] 3.5 清理 `internal/service/enterprise/service.go` 冗余硬编码
|
||||
- [x] 3.6 清理 `internal/service/customer/service.go` 冗余硬编码
|
||||
- [x] 3.7 清理 `internal/service/customer_account/service.go` 冗余硬编码
|
||||
- [x] 3.8 清理 `internal/service/role/service.go` 冗余硬编码
|
||||
- [x] 3.9 清理 `internal/service/permission/service.go` 冗余硬编码
|
||||
- [x] 3.10 清理 `internal/service/account/service.go` 冗余硬编码
|
||||
- [x] 3.11 清理 `internal/service/enterprise_card/service.go` 冗余硬编码
|
||||
- [x] 3.12 清理 `internal/service/my_commission/service.go` 冗余硬编码
|
||||
- [x] 3.13 清理 `internal/service/shop_commission/service.go` 冗余硬编码
|
||||
- [x] 3.14 清理 `internal/service/commission_withdrawal_setting/service.go` 冗余硬编码
|
||||
|
||||
## 4. 业务代码清理 - Handler 层
|
||||
|
||||
- [x] 4.1 清理 `internal/handler/admin/*.go` 冗余硬编码(无需清理,都是业务特定消息)
|
||||
- [x] 4.2 清理 `internal/handler/h5/*.go` 冗余硬编码(无需清理,都是业务特定消息)
|
||||
- [x] 4.3 清理 `internal/handler/app/*.go` 冗余硬编码(无需清理,都是业务特定消息)
|
||||
|
||||
## 5. 业务代码清理 - Middleware 和其他
|
||||
|
||||
- [x] 5.1 清理 `pkg/middleware/*.go` 冗余硬编码(无需清理,都是业务特定消息)
|
||||
- [x] 5.2 清理 `internal/middleware/*.go` 冗余硬编码(无需清理,都是业务特定消息)
|
||||
- [x] 5.3 清理 `internal/bootstrap/*.go` 冗余硬编码(无需清理,都是业务特定消息)
|
||||
|
||||
## 6. 验证和收尾
|
||||
|
||||
- [x] 6.1 运行完整测试套件 `go test ./pkg/...` - 全部通过
|
||||
- [x] 6.2 运行 lsp_diagnostics 检查类型错误 - 无错误
|
||||
- [x] 6.3 编译验证 `go build ./...` - 成功
|
||||
Reference in New Issue
Block a user