48 lines
1.5 KiB
Go
48 lines
1.5 KiB
Go
package api
|
|
|
|
import "errors"
|
|
|
|
// API调用相关错误类型
|
|
var (
|
|
ErrQueryEmpty = 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("账户余额不足,无法请求")
|
|
ErrProductNotFound = errors.New("产品不存在")
|
|
ErrProductDisabled = errors.New("产品已停用")
|
|
ErrNotSubscribed = errors.New("未订阅此产品")
|
|
ErrBusiness = errors.New("业务失败")
|
|
)
|
|
|
|
// 错误码映射 - 严格按照用户要求
|
|
var ErrorCodeMap = map[error]int{
|
|
ErrQueryEmpty: 1000,
|
|
ErrSystem: 1001,
|
|
ErrDecryptFail: 1002,
|
|
ErrRequestParam: 1003,
|
|
ErrInvalidParam: 1003,
|
|
ErrInvalidIP: 1004,
|
|
ErrMissingAccessId: 1005,
|
|
ErrInvalidAccessId: 1006,
|
|
ErrFrozenAccount: 1007,
|
|
ErrArrears: 1007,
|
|
ErrProductNotFound: 1008,
|
|
ErrProductDisabled: 1008,
|
|
ErrNotSubscribed: 1008,
|
|
ErrBusiness: 2001,
|
|
}
|
|
|
|
// GetErrorCode 获取错误对应的错误码
|
|
func GetErrorCode(err error) int {
|
|
if code, exists := ErrorCodeMap[err]; exists {
|
|
return code
|
|
}
|
|
return 1001 // 默认返回接口异常
|
|
}
|