80 lines
2.4 KiB
Go
80 lines
2.4 KiB
Go
package errcode
|
|
|
|
// 错误码常量
|
|
const (
|
|
OK = "0"
|
|
|
|
// 参数错误
|
|
ErrInvalidParam = "10001"
|
|
ErrMissingParam = "10002"
|
|
ErrInvalidPayMethod = "10003"
|
|
ErrInvalidAmount = "10004"
|
|
|
|
// 鉴权错误
|
|
ErrUnauthorized = "20001"
|
|
ErrAppNotFound = "20002"
|
|
ErrPermissionDenied = "20003"
|
|
|
|
// 业务规则错误
|
|
ErrOrderNotFound = "30001"
|
|
ErrOrderAlreadyPaid = "30002"
|
|
ErrOrderClosed = "30003"
|
|
ErrRefundAmountExceed = "30004"
|
|
ErrSharingAmountExceed = "30005"
|
|
ErrSharingNotConfig = "30006"
|
|
ErrSharingFeeExceed = "30007"
|
|
ErrOrderIdempotent = "30008"
|
|
ErrOrderNotPaid = "30009"
|
|
ErrRefundNotFound = "30010"
|
|
|
|
// 渠道错误
|
|
ErrChannelCreateFail = "40001"
|
|
ErrChannelRefundFail = "40002"
|
|
ErrChannelTimeout = "40003"
|
|
ErrChannelNotSupport = "40004"
|
|
ErrChannelVerifyFail = "40005"
|
|
|
|
// 系统错误
|
|
ErrInternalDB = "50001"
|
|
ErrInternalRedis = "50002"
|
|
ErrInternalSystem = "50099"
|
|
)
|
|
|
|
// messages 错误码对应的默认消息
|
|
var messages = map[string]string{
|
|
OK: "success",
|
|
ErrInvalidParam: "参数校验失败",
|
|
ErrMissingParam: "缺少必填参数",
|
|
ErrInvalidPayMethod: "不支持的支付方式",
|
|
ErrInvalidAmount: "金额非法",
|
|
ErrUnauthorized: "签名验证失败",
|
|
ErrAppNotFound: "应用不存在或已禁用",
|
|
ErrPermissionDenied: "无权操作该资源",
|
|
ErrOrderNotFound: "订单不存在",
|
|
ErrOrderAlreadyPaid: "订单已支付",
|
|
ErrOrderClosed: "订单已关闭",
|
|
ErrRefundAmountExceed: "退款金额超过可退金额",
|
|
ErrSharingAmountExceed: "分润金额超过最大比例",
|
|
ErrSharingNotConfig: "未配置分润接收方",
|
|
ErrSharingFeeExceed: "分润与服务费之和超过订单金额",
|
|
ErrOrderIdempotent: "幂等请求,返回已有订单",
|
|
ErrOrderNotPaid: "订单未支付,无法退款",
|
|
ErrRefundNotFound: "退款单不存在",
|
|
ErrChannelCreateFail: "渠道下单失败",
|
|
ErrChannelRefundFail: "渠道退款失败",
|
|
ErrChannelTimeout: "渠道调用超时",
|
|
ErrChannelNotSupport: "渠道不支持该功能",
|
|
ErrChannelVerifyFail: "回调验签失败",
|
|
ErrInternalDB: "数据库错误",
|
|
ErrInternalRedis: "Redis 错误",
|
|
ErrInternalSystem: "系统内部错误",
|
|
}
|
|
|
|
// Message 返回错误码对应的消息
|
|
func Message(code string) string {
|
|
if msg, ok := messages[code]; ok {
|
|
return msg
|
|
}
|
|
return "未知错误"
|
|
}
|