package controller import ( "git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/pkg/errors" r "git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/pkg/response" "git.inspur.com/sbg-jszt/cfn/cfn-schedule/pkg/log" "github.com/gin-gonic/gin" "go.uber.org/zap" ) // Success 业务成功响应 func Success(c *gin.Context, data ...any) { response := r.Resp() if data != nil { response.WithDataSuccess(c, data[0]) return } response.Success(c) } // FailCode 业务失败响应 func FailCode(c *gin.Context, code int, err error, data ...any) { response := r.Resp() if err != nil { log.Errorf("异常: %v", err.Error()) } if data != nil { response.WithData(data[0]).FailCode(c, code) return } response.FailCode(c, code) } // Fail 业务失败响应 func Fail(c *gin.Context, code int, message string, data ...any) { response := r.Resp() if data != nil { response.WithData(data[0]).FailCode(c, code, message) return } response.FailCode(c, code, message) } // Err 判断错误类型是自定义类型则自动返回错误中携带的code和message,否则返回服务器错误 func Err(c *gin.Context, e error) { businessError, err := errors.AsBusinessError(e) if err != nil { log.Logger.Warn("Unknown error:", zap.Any("Error reason:", err)) FailCode(c, errors.ServerError, err) return } Fail(c, businessError.GetCode(), businessError.GetMessage()) }