errors.go 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. package errors
  2. import (
  3. "encoding/json"
  4. "gd_gateway/common.in/jsonrpc2"
  5. )
  6. var (
  7. SystemError = jsonrpc2.NewJsonError(1000, "系统错误")
  8. ServiceError = jsonrpc2.NewJsonError(1001, "服务错误")
  9. LoginTokenFail = jsonrpc2.NewJsonError(1002, "token生成失败")
  10. CheckMerchantNotExist = jsonrpc2.NewJsonError(1003, "用户名错误")
  11. CheckMerchantAppPasswordError = jsonrpc2.NewJsonError(1004, "密码错误")
  12. CheckApiNotEnable = jsonrpc2.NewJsonError(1007, "接口已停用")
  13. CheckApiDayCountLimit = jsonrpc2.NewJsonError(1008, "接口达到每日上限")
  14. CheckApiDaysLimit = jsonrpc2.NewJsonError(1009, "接口已过有效期")
  15. CheckApiTotalCountLimit = jsonrpc2.NewJsonError(1010, "接口达到上限")
  16. CheckApiParamConfParseFailed = jsonrpc2.NewJsonError(1011, "配置解析失败")
  17. CheckParamDecryptFail = jsonrpc2.NewJsonError(1012, "解密失败")
  18. CheckParamDecryptNull = jsonrpc2.NewJsonError(1013, "加密参数为空")
  19. IpAddrErr = jsonrpc2.NewJsonError(1014, "IP地址错误")
  20. BalanceError = jsonrpc2.NewJsonError(1015, "余额不足")
  21. ArrearageError = jsonrpc2.NewJsonError(1016, "超过可欠费金额")
  22. NotAuthError = jsonrpc2.NewJsonError(1017, "未认证")
  23. AuthFailError = jsonrpc2.NewJsonError(1018, "未通过认证")
  24. CheckApiInfoNotExist = jsonrpc2.NewJsonError(1019, "未购买的接口")
  25. RateLimit = jsonrpc2.NewError(1020, "接口调用频繁,请稍后再试")
  26. ApiTimeOut = jsonrpc2.NewError(1021, "接口响应超时")
  27. CheckApiNotExist = jsonrpc2.NewJsonError(1022, "接口不存在")
  28. ArgsUnsupport = jsonrpc2.NewJsonError(1023, "不支持的查询参数")
  29. UserTokenExpire =jsonrpc2.NewJsonError(1024, "token过期")
  30. UserTokenError = jsonrpc2.NewJsonError(1025, "token错误")
  31. NoRecord = jsonrpc2.NewJsonError(1100, "无数据")
  32. VendorError = jsonrpc2.NewJsonError(1101, "上游异常")
  33. BadParaFormat = jsonrpc2.NewJsonError(1102, "参数格式错误")
  34. ArgsError = jsonrpc2.NewJsonError(1103, "参数错误")
  35. DataBaseError = jsonrpc2.NewJsonError(1104, "服务异常")
  36. ProviderApiNotFound = jsonrpc2.NewJsonError(1105, "未找到数据源")
  37. ProviderUnavailable = jsonrpc2.NewJsonError(1106, "数据源不可用")
  38. NoRecordMustSelect = jsonrpc2.NewJsonError(1107, "无数据,必选项为空")
  39. NoRecordProviderLimit = jsonrpc2.NewJsonError(1108, "无数据,数据源达到上限")
  40. NoRecordProviderError = jsonrpc2.NewJsonError(1109, "无数据,数据源最后一步异常")
  41. NoRecordDataError = jsonrpc2.NewJsonError(1110, "无数据,数据异常")
  42. )
  43. func ErrorToNorecord(err error) error {
  44. if err != nil {
  45. var e jsonrpc2.Error
  46. errm := json.Unmarshal([]byte(err.Error()), &e)
  47. if errm != nil {
  48. return NoRecord
  49. }
  50. if e.Code == 0 {
  51. return nil
  52. }
  53. return NoRecord
  54. } else {
  55. return nil
  56. }
  57. }
  58. func ErrorTransform(errReturn error) error {
  59. if errReturn == nil {
  60. return nil
  61. }
  62. var e jsonrpc2.Error
  63. err := json.Unmarshal([]byte(errReturn.Error()), &e)
  64. if err != nil {
  65. return NoRecord
  66. }
  67. if e.Code == 1102 || e.Code == 1103{
  68. return errReturn
  69. }
  70. return NoRecord
  71. }
  72. func ErrorTransformRaw(errReturn error) error {
  73. if errReturn == nil {
  74. return nil
  75. }
  76. var e jsonrpc2.Error
  77. err := json.Unmarshal([]byte(errReturn.Error()), &e)
  78. if err != nil {
  79. return SystemError
  80. }
  81. return errReturn
  82. }