68 lines
2.5 KiB
Go
68 lines
2.5 KiB
Go
package api
|
||
|
||
import "errors"
|
||
|
||
// API调用相关错误类型
|
||
var (
|
||
ErrQueryEmpty = errors.New("查询为空")
|
||
ErrQueryFailed = errors.New("查询失败")
|
||
ErrSystem = errors.New("接口异常")
|
||
ErrDecryptFail = errors.New("解密失败")
|
||
ErrRequestParam = errors.New("请求参数结构不正确")
|
||
ErrInvalidParam = errors.New("参数校验不正确")
|
||
ErrInvalidIP = errors.New("未经授权的IP")
|
||
ErrMissingAccessId = errors.New("缺少Access-Id")
|
||
ErrInvalidAccessId = errors.New("未经授权的AccessId")
|
||
ErrFrozenAccount = errors.New("账户已冻结")
|
||
ErrArrears = errors.New("账户余额不足,无法请求")
|
||
ErrInsufficientBalance = errors.New("钱包余额不足")
|
||
ErrProductNotFound = errors.New("产品不存在")
|
||
ErrProductDisabled = errors.New("产品已停用")
|
||
ErrNotSubscribed = errors.New("未订阅此产品")
|
||
ErrProductNotSubscribed = errors.New("未订阅此产品")
|
||
ErrSubscriptionExpired = errors.New("订阅已过期")
|
||
ErrSubscriptionSuspended = errors.New("订阅已暂停")
|
||
ErrBusiness = errors.New("业务失败")
|
||
ErrSubordinateLinkNotFound = errors.New("非子账号,无法使用master_accessid")
|
||
ErrSubordinateParentMismatch = errors.New("master_accessid与主账号不匹配")
|
||
)
|
||
|
||
// 错误码映射 - 严格按照用户要求
|
||
var ErrorCodeMap = map[error]int{
|
||
ErrQueryEmpty: 1000,
|
||
ErrQueryFailed: 1000,
|
||
ErrSystem: 1001,
|
||
ErrDecryptFail: 1002,
|
||
ErrRequestParam: 1003,
|
||
ErrInvalidParam: 1003,
|
||
ErrInvalidIP: 1004,
|
||
ErrMissingAccessId: 1005,
|
||
ErrInvalidAccessId: 1006,
|
||
ErrFrozenAccount: 1007,
|
||
ErrArrears: 1007,
|
||
ErrInsufficientBalance: 1007,
|
||
ErrProductNotFound: 1008,
|
||
ErrProductDisabled: 1008,
|
||
ErrNotSubscribed: 1008,
|
||
ErrProductNotSubscribed: 1008,
|
||
ErrSubscriptionExpired: 1008,
|
||
ErrSubscriptionSuspended: 1008,
|
||
ErrBusiness: 2001,
|
||
ErrSubordinateLinkNotFound: 1301,
|
||
ErrSubordinateParentMismatch: 1302,
|
||
}
|
||
|
||
// GetErrorCode 获取错误对应的错误码
|
||
func GetErrorCode(err error) int {
|
||
if code, exists := ErrorCodeMap[err]; exists {
|
||
return code
|
||
}
|
||
return 1001 // 默认返回接口异常
|
||
}
|
||
|
||
// GetErrorMessage 获取错误对应的错误消息
|
||
func GetErrorMessage(err error) string {
|
||
// 直接返回预定义的错误消息
|
||
return err.Error()
|
||
}
|