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, "提现申请不存在") // 覆盖为自定义消息
2.7 KiB
2.7 KiB
统一错误消息数据源 - 任务清单
1. 基础设施改造
- 1.1 在
pkg/errors/codes.go中添加allErrorCodes错误码注册表 - 1.2 改造
pkg/errors/errors.go中的New()函数签名为可变参数 - 1.3 改造
pkg/errors/errors.go中的Wrap()函数签名为可变参数 - 1.4 在
pkg/errors/codes.go中添加init()启动时校验函数
2. 测试保障
- 2.1 在
pkg/errors/codes_test.go中添加TestAllCodesHaveMessages测试 - 2.2 在
pkg/errors/codes_test.go中添加TestNoOrphanMessages测试(检测孤立映射) - 2.3 更新
pkg/errors/handler_test.go测试覆盖新的函数签名
3. 业务代码清理 - Service 层
- 3.1 清理
internal/service/commission_withdrawal/service.go冗余硬编码 - 3.2 清理
internal/service/shop/service.go冗余硬编码 - 3.3 清理
internal/service/auth/service.go冗余硬编码 - 3.4 清理
internal/service/shop_account/service.go冗余硬编码 - 3.5 清理
internal/service/enterprise/service.go冗余硬编码 - 3.6 清理
internal/service/customer/service.go冗余硬编码 - 3.7 清理
internal/service/customer_account/service.go冗余硬编码 - 3.8 清理
internal/service/role/service.go冗余硬编码 - 3.9 清理
internal/service/permission/service.go冗余硬编码 - 3.10 清理
internal/service/account/service.go冗余硬编码 - 3.11 清理
internal/service/enterprise_card/service.go冗余硬编码 - 3.12 清理
internal/service/my_commission/service.go冗余硬编码 - 3.13 清理
internal/service/shop_commission/service.go冗余硬编码 - 3.14 清理
internal/service/commission_withdrawal_setting/service.go冗余硬编码
4. 业务代码清理 - Handler 层
- 4.1 清理
internal/handler/admin/*.go冗余硬编码(无需清理,都是业务特定消息) - 4.2 清理
internal/handler/h5/*.go冗余硬编码(无需清理,都是业务特定消息) - 4.3 清理
internal/handler/app/*.go冗余硬编码(无需清理,都是业务特定消息)
5. 业务代码清理 - Middleware 和其他
- 5.1 清理
pkg/middleware/*.go冗余硬编码(无需清理,都是业务特定消息) - 5.2 清理
internal/middleware/*.go冗余硬编码(无需清理,都是业务特定消息) - 5.3 清理
internal/bootstrap/*.go冗余硬编码(无需清理,都是业务特定消息)
6. 验证和收尾
- 6.1 运行完整测试套件
go test ./pkg/...- 全部通过 - 6.2 运行 lsp_diagnostics 检查类型错误 - 无错误
- 6.3 编译验证
go build ./...- 成功