修复套餐创建事务回滚失败问题;修复 http dump 未根据环境配置打印问题;简化通道分配时计时输出

This commit is contained in:
2025-05-09 11:10:17 +08:00
parent 623e9652d9
commit 7c684ca0ad
7 changed files with 42 additions and 53 deletions

View File

@@ -2,6 +2,7 @@ package web
import (
"errors"
"gorm.io/gorm"
"log/slog"
"platform/web/core"
"reflect"
@@ -11,20 +12,29 @@ import (
func ErrorHandler(c *fiber.Ctx, err error) error {
var code int
var message string
var code = fiber.StatusInternalServerError
var message = "服务器异常"
var fiberErr *fiber.Error
var serviceErr *core.ServiceErr
if errors.As(err, &fiberErr) {
switch {
// fiber 错误
case errors.As(err, &fiberErr):
code = fiberErr.Code
message = fiberErr.Message
} else if errors.As(err, &serviceErr) {
// 服务错误
case errors.As(err, &serviceErr):
code = serviceErr.Code()
message = serviceErr.Error()
} else {
code = fiber.StatusInternalServerError
message = "服务器异常"
// gorm 错误,忽略
case errors.Is(err, gorm.ErrForeignKeyViolated):
// 所有未手动声明的错误类型
default:
slog.Debug("未处理的异常", slog.String("type", reflect.TypeOf(err).Name()), slog.String("error", err.Error()))
}