exc_enums.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. package exception
  2. import stringUtils "eta_mini_ht_api/common/utils/string"
  3. type EtaError struct {
  4. ErrorCode int
  5. ErrorMsg string
  6. }
  7. func (e *EtaError) Error() string {
  8. return e.ErrorMsg
  9. }
  10. const (
  11. // SysErrCode 系统错误
  12. SysErrCode int = iota + 10000 // iota 自动递增,从 1 开始
  13. UnknownError
  14. Unauthorized
  15. )
  16. // BIZErrCode 业务错误
  17. const (
  18. BIZErrCode int = iota + 20000 // iota 自动递增,从 1 开始
  19. //短信
  20. IllegalCodeLength
  21. IllegalPhoneNumber
  22. SMSCodeGenerateFailed
  23. SendingSMSFailed
  24. SMSCodeAlreadySent
  25. SMSCodeExpired
  26. SMSCodeError
  27. AnalystNotFound
  28. )
  29. // UserErrCode 用户
  30. const (
  31. UserErrCode int = iota + 30000 // iota 自动递增,从 1 开始
  32. TemplateUserNotFound
  33. TemplateUserCreateFailed
  34. GenerateTokenFailed
  35. JWTTokenDecodeFailed
  36. JWTTokenExpired
  37. JWTTokenInvalid
  38. NotCurrentUserError
  39. FeedBackMsgEmpty
  40. FeedBackError
  41. IllegalFollowType
  42. UserFollowAnalystFailed
  43. )
  44. // WechatErrCode 微信
  45. const (
  46. WechatErrCode int = iota + 40000 // iota 自动递增,从 1 开始
  47. WeChatServerError
  48. WeChatResponseError
  49. WechatUserInfoFailed
  50. WeChatCodeEmpty
  51. WeChatIllegalRequest
  52. )
  53. const (
  54. ReportErrCode int = iota + 50000 // iota 自动递增,从 1 开始
  55. GetPublishedRandListFailed
  56. GetPermissionListFailed
  57. ReportRecordClickCountFailed
  58. GetHotRandListFailed
  59. QueryReportPageFailed
  60. SearchReportPageFailed
  61. GetReportFailed
  62. SearchKeyEmptyError
  63. )
  64. // ErrorMap 用于存储错误码和错误信息的映射
  65. var ErrorMap = map[int]string{
  66. UnknownError: "未知错误",
  67. Unauthorized: "用户未授权",
  68. IllegalCodeLength: "无效的验证码位数设置",
  69. IllegalPhoneNumber: "无效的手机号码",
  70. SMSCodeGenerateFailed: "生成手机验证码失败",
  71. SendingSMSFailed: "发送手机验证码失败",
  72. SMSCodeAlreadySent: "当前手机验证码已发送,请稍后再试",
  73. SMSCodeExpired: "验证码已过期",
  74. SMSCodeError: "验证码错误",
  75. AnalystNotFound: "研究员不存在",
  76. //用户
  77. TemplateUserNotFound: "临时用户记录不存在",
  78. TemplateUserCreateFailed: "创建临时用户失败",
  79. GenerateTokenFailed: "创建token失败",
  80. JWTTokenDecodeFailed: "token解析失败",
  81. JWTTokenExpired: "token已过期",
  82. JWTTokenInvalid: "token无效",
  83. NotCurrentUserError: "用户信息不一致,非当前手机用户操作",
  84. FeedBackMsgEmpty: "反馈信息不能为空",
  85. FeedBackError: "提交反馈信息失败",
  86. IllegalFollowType: "无效的关注类型",
  87. UserFollowAnalystFailed: "关注研究员失败",
  88. //微信
  89. WeChatServerError: "微信服务器发生错误",
  90. WechatUserInfoFailed: "获取微信用户信息失败",
  91. WeChatResponseError: "解析微信响应数据失败",
  92. WeChatCodeEmpty: "微信获取用户信息,code不能为空",
  93. WeChatIllegalRequest: "不合法的微信请求",
  94. //研报
  95. GetPublishedRandListFailed: "获取已发布研报列表失败",
  96. GetPermissionListFailed: "获取品种列表失败",
  97. ReportRecordClickCountFailed: "添加点击访问次数失败",
  98. GetHotRandListFailed: "获取热门研报列表失败",
  99. QueryReportPageFailed: "分页查询报告列表失败",
  100. SearchReportPageFailed: "分页搜索报告列表失败",
  101. GetReportFailed: "获取研报详情失败",
  102. SearchKeyEmptyError: "搜索关键字不能为空",
  103. }
  104. func Equals(code int, message string) bool {
  105. if stringUtils.IsEmptyOrNil(message) {
  106. return false
  107. }
  108. return ErrorMap[code] == message
  109. }
  110. func GetMsg(code int) string {
  111. return ErrorMap[code]
  112. }
  113. func newException(code int, msg string) error {
  114. return &EtaError{
  115. ErrorCode: code,
  116. ErrorMsg: msg,
  117. }
  118. }
  119. func New(code int) *EtaError {
  120. err := ErrorMap[code]
  121. if stringUtils.IsBlank(err) {
  122. return newException(UnknownError, ErrorMap[UnknownError]).(*EtaError)
  123. }
  124. return newException(code, err).(*EtaError)
  125. }