ErrorCodeConstants.java 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. package com.persagy.common;
  2. /**
  3. * 阿里巴巴Java开发手册-崇山版-2020.08.03 错误码整理
  4. * 一般情况下,使用 HTTP 响应状态码 https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status
  5. * 虽然说,HTTP 响应状态码作为业务使用表达能力偏弱,但是使用在系统层面还是非常不错的
  6. * 错误码:
  7. * 1. 五位组成
  8. * 2. A代表用户端错误
  9. * 3. B代表当前系统异常
  10. * 4. C代表第三方服务异常
  11. * 4. 若无法确定具体错误,选择宏观错误
  12. * 6. 大的错误类间的步长间距预留100
  13. *
  14. * @author lgy
  15. */
  16. public interface ErrorCodeConstants {
  17. /**
  18. * 成功
  19. */
  20. ErrorCode SUCCESS = new ErrorCode("00000", "成功");
  21. ErrorCode DEF_ERROR = new ErrorCode("Z9999", "系统繁忙,请稍候再试");
  22. /**
  23. * 一级宏观错误码
  24. */
  25. ErrorCode USER_ERROR_A0001 = new ErrorCode("A0001", "用户端错误");
  26. /**
  27. * 二级宏观错误码
  28. */
  29. ErrorCode USER_ERROR_A0100 = new ErrorCode("A0100", "用户注册错误");
  30. ErrorCode USER_ERROR_A0101 = new ErrorCode("A0101", "用户未同意隐私协议");
  31. ErrorCode USER_ERROR_A0102 = new ErrorCode("A0102", "注册国家或地区受限");
  32. ErrorCode USER_ERROR_A0110 = new ErrorCode("A0110", "用户名校验失败");
  33. ErrorCode USER_ERROR_A0111 = new ErrorCode("A0111", "用户名已存在");
  34. ErrorCode USER_ERROR_A0112 = new ErrorCode("A0112", "用户名包含敏感词");
  35. ErrorCode USER_ERROR_A0113 = new ErrorCode("A0113", "用户名包含特殊字符");
  36. ErrorCode USER_ERROR_A0120 = new ErrorCode("A0120", "密码校验失败");
  37. ErrorCode USER_ERROR_A0121 = new ErrorCode("A0121", "密码长度不够");
  38. ErrorCode USER_ERROR_A0122 = new ErrorCode("A0122", "密码强度不够");
  39. ErrorCode USER_ERROR_A0130 = new ErrorCode("A0130", "校验码输入错误");
  40. ErrorCode USER_ERROR_A0131 = new ErrorCode("A0131", "短信校验码输入错误");
  41. ErrorCode USER_ERROR_A0132 = new ErrorCode("A0132", "邮件校验码输入错误");
  42. ErrorCode USER_ERROR_A0133 = new ErrorCode("A0133", "语音校验码输入错误");
  43. ErrorCode USER_ERROR_A0140 = new ErrorCode("A0140", "用户证件异常");
  44. ErrorCode USER_ERROR_A0141 = new ErrorCode("A0141", "用户证件类型未选择");
  45. ErrorCode USER_ERROR_A0142 = new ErrorCode("A0142", "大陆身份证编号校验非法");
  46. ErrorCode USER_ERROR_A0143 = new ErrorCode("A0143", "护照编号校验非法");
  47. ErrorCode USER_ERROR_A0144 = new ErrorCode("A0144", "军官证编号校验非法");
  48. ErrorCode USER_ERROR_A0150 = new ErrorCode("A0150", "用户基本信息校验失败");
  49. ErrorCode USER_ERROR_A0151 = new ErrorCode("A0151", "手机格式校验失败");
  50. ErrorCode USER_ERROR_A0152 = new ErrorCode("A0152", "地址格式校验失败");
  51. ErrorCode USER_ERROR_A0153 = new ErrorCode("A0153", "邮箱格式校验失败");
  52. /**
  53. * 二级宏观错误码
  54. */
  55. ErrorCode USER_ERROR_A0200 = new ErrorCode("A0200", "用户登录异常");
  56. ErrorCode USER_ERROR_A0201 = new ErrorCode("A0201", "用户账户不存在");
  57. ErrorCode USER_ERROR_A0202 = new ErrorCode("A0202", "用户账户被冻结");
  58. ErrorCode USER_ERROR_A0203 = new ErrorCode("A0203", "用户账户已作废");
  59. ErrorCode USER_ERROR_A0210 = new ErrorCode("A0210", "用户密码错误");
  60. ErrorCode USER_ERROR_A0211 = new ErrorCode("A0211", "用户输入密码错误次数超限");
  61. ErrorCode USER_ERROR_A0220 = new ErrorCode("A0220", "用户身份校验失败");
  62. ErrorCode USER_ERROR_A0221 = new ErrorCode("A0221", "用户指纹识别失败");
  63. ErrorCode USER_ERROR_A0222 = new ErrorCode("A0222", "用户面容识别失败");
  64. ErrorCode USER_ERROR_A0223 = new ErrorCode("A0223", "用户未获得第三方登录授权");
  65. ErrorCode USER_ERROR_A0230 = new ErrorCode("A0230", "用户登录已过期");
  66. ErrorCode USER_ERROR_A0240 = new ErrorCode("A0240", "用户验证码错误");
  67. ErrorCode USER_ERROR_A0241 = new ErrorCode("A0241", "用户验证码尝试次数超限");
  68. /**
  69. * 二级宏观错误码
  70. */
  71. ErrorCode USER_ERROR_A0300 = new ErrorCode("A0300", "访问权限异常");
  72. ErrorCode USER_ERROR_A0301 = new ErrorCode("A0301", "访问未授权");
  73. ErrorCode USER_ERROR_A0302 = new ErrorCode("A0302", "正在授权中");
  74. ErrorCode USER_ERROR_A0303 = new ErrorCode("A0303", "用户授权申请被拒绝");
  75. ErrorCode USER_ERROR_A0310 = new ErrorCode("A0310", "因访问对象隐私设置被拦截");
  76. ErrorCode USER_ERROR_A0311 = new ErrorCode("A0311", "授权已过期");
  77. ErrorCode USER_ERROR_A0312 = new ErrorCode("A0312", "无权限使用 API");
  78. ErrorCode USER_ERROR_A0320 = new ErrorCode("A0320", "用户访问被拦截");
  79. ErrorCode USER_ERROR_A0321 = new ErrorCode("A0321", "黑名单用户");
  80. ErrorCode USER_ERROR_A0322 = new ErrorCode("A0322", "账号被冻结");
  81. ErrorCode USER_ERROR_A0323 = new ErrorCode("A0323", "非法 IP 地址");
  82. ErrorCode USER_ERROR_A0324 = new ErrorCode("A0324", "网关访问受限");
  83. ErrorCode USER_ERROR_A0325 = new ErrorCode("A0325", "地域黑名单");
  84. ErrorCode USER_ERROR_A0330 = new ErrorCode("A0330", "服务已欠费");
  85. ErrorCode USER_ERROR_A0340 = new ErrorCode("A0340", "用户签名异常");
  86. ErrorCode USER_ERROR_A0341 = new ErrorCode("A0341", "RSA 签名错误");
  87. /**
  88. * 二级宏观错误码
  89. */
  90. ErrorCode USER_ERROR_A0400 = new ErrorCode("A0400", "用户请求参数错误");
  91. ErrorCode USER_ERROR_A0405 = new ErrorCode("A0405", "请求方法不正确");
  92. ErrorCode USER_ERROR_A0401 = new ErrorCode("A0401", "包含非法恶意跳转链接");
  93. ErrorCode USER_ERROR_A0402 = new ErrorCode("A0402", "无效的用户输入");
  94. ErrorCode USER_ERROR_A0410 = new ErrorCode("A0410", "请求必填参数为空");
  95. ErrorCode USER_ERROR_A0411 = new ErrorCode("A0411", "用户订单号为空");
  96. ErrorCode USER_ERROR_A0412 = new ErrorCode("A0412", "订购数量为空");
  97. ErrorCode USER_ERROR_A0413 = new ErrorCode("A0413", "缺少时间戳参数");
  98. ErrorCode USER_ERROR_A0414 = new ErrorCode("A0414", "非法的时间戳参数");
  99. ErrorCode USER_ERROR_A0420 = new ErrorCode("A0420", "请求参数值超出允许的范围");
  100. ErrorCode USER_ERROR_A0421 = new ErrorCode("A0421", "参数格式不匹配");
  101. ErrorCode USER_ERROR_A0422 = new ErrorCode("A0422", "地址不在服务范围");
  102. ErrorCode USER_ERROR_A0423 = new ErrorCode("A0423", "时间不在服务范围");
  103. ErrorCode USER_ERROR_A0424 = new ErrorCode("A0424", "金额超出限制");
  104. ErrorCode USER_ERROR_A0425 = new ErrorCode("A0425", "数量超出限制");
  105. ErrorCode USER_ERROR_A0426 = new ErrorCode("A0426", "请求批量处理总个数超出限制");
  106. ErrorCode USER_ERROR_A0427 = new ErrorCode("A0427", "请求 JSON 解析失败");
  107. ErrorCode USER_ERROR_A0430 = new ErrorCode("A0430", "用户输入内容非法");
  108. ErrorCode USER_ERROR_A0431 = new ErrorCode("A0431", "包含违禁敏感词");
  109. ErrorCode USER_ERROR_A0432 = new ErrorCode("A0432", "图片包含违禁信息");
  110. ErrorCode USER_ERROR_A0433 = new ErrorCode("A0433", "文件侵犯版权");
  111. ErrorCode USER_ERROR_A0440 = new ErrorCode("A0440", "用户操作异常");
  112. ErrorCode USER_ERROR_A0441 = new ErrorCode("A0441", "用户支付超时");
  113. ErrorCode USER_ERROR_A0442 = new ErrorCode("A0442", "确认订单超时");
  114. ErrorCode USER_ERROR_A0443 = new ErrorCode("A0443", "订单已关闭");
  115. /**
  116. * 二级宏观错误码
  117. */
  118. ErrorCode USER_ERROR_A0500 = new ErrorCode("A0500", "用户请求服务异常");
  119. ErrorCode USER_ERROR_A0501 = new ErrorCode("A0501", "请求次数超出限制");
  120. ErrorCode USER_ERROR_A0502 = new ErrorCode("A0502", "请求并发数超出限制");
  121. ErrorCode USER_ERROR_A0503 = new ErrorCode("A0503", "用户操作请等待");
  122. ErrorCode USER_ERROR_A0504 = new ErrorCode("A0504", "WebSocket 连接异常");
  123. ErrorCode USER_ERROR_A0505 = new ErrorCode("A0505", "WebSocket 连接断开");
  124. ErrorCode USER_ERROR_A0506 = new ErrorCode("A0506", "用户重复请求");
  125. /**
  126. * 二级宏观错误码
  127. */
  128. ErrorCode USER_ERROR_A0600 = new ErrorCode("A0600", "用户资源异常");
  129. ErrorCode USER_ERROR_A0601 = new ErrorCode("A0601", "账户余额不足");
  130. ErrorCode USER_ERROR_A0602 = new ErrorCode("A0602", "用户磁盘空间不足");
  131. ErrorCode USER_ERROR_A0603 = new ErrorCode("A0603", "用户内存空间不足");
  132. ErrorCode USER_ERROR_A0604 = new ErrorCode("A0604", "用户 OSS 容量不足");
  133. /**
  134. * 例如:每天抽奖数
  135. */
  136. ErrorCode USER_ERROR_A0605 = new ErrorCode("A0605", "用户配额已用光");
  137. /**
  138. * 二级宏观错误码
  139. */
  140. ErrorCode USER_ERROR_A0700 = new ErrorCode("A0700", "用户上传文件异常");
  141. ErrorCode USER_ERROR_A0701 = new ErrorCode("A0701", "用户上传文件类型不匹配");
  142. ErrorCode USER_ERROR_A0702 = new ErrorCode("A0702", "用户上传文件太大");
  143. ErrorCode USER_ERROR_A0703 = new ErrorCode("A0703", "用户上传图片太大");
  144. ErrorCode USER_ERROR_A0704 = new ErrorCode("A0704", "用户上传视频太大");
  145. ErrorCode USER_ERROR_A0705 = new ErrorCode("A0705", "用户上传压缩文件太大");
  146. /**
  147. * 二级宏观错误码
  148. */
  149. ErrorCode USER_ERROR_A0800 = new ErrorCode("A0800", "用户当前版本异常");
  150. ErrorCode USER_ERROR_A0801 = new ErrorCode("A0801", "用户安装版本与系统不匹配");
  151. ErrorCode USER_ERROR_A0802 = new ErrorCode("A0802", "用户安装版本过低");
  152. ErrorCode USER_ERROR_A0803 = new ErrorCode("A0803", "用户安装版本过高");
  153. ErrorCode USER_ERROR_A0804 = new ErrorCode("A0804", "用户安装版本已过期");
  154. ErrorCode USER_ERROR_A0805 = new ErrorCode("A0805", "用户 API 请求版本不匹配");
  155. ErrorCode USER_ERROR_A0806 = new ErrorCode("A0806", "用户 API 请求版本过高");
  156. ErrorCode USER_ERROR_A0807 = new ErrorCode("A0807", "用户 API 请求版本过低");
  157. /**
  158. * 二级宏观错误码
  159. */
  160. ErrorCode USER_ERROR_A0900 = new ErrorCode("A0900", "用户隐私未授权");
  161. ErrorCode USER_ERROR_A0901 = new ErrorCode("A0901", "用户隐私未签署");
  162. ErrorCode USER_ERROR_A0902 = new ErrorCode("A0902", "用户摄像头未授权");
  163. ErrorCode USER_ERROR_A0903 = new ErrorCode("A0903", "用户相机未授权");
  164. ErrorCode USER_ERROR_A0904 = new ErrorCode("A0904", "用户图片库未授权");
  165. ErrorCode USER_ERROR_A0905 = new ErrorCode("A0905", "用户文件未授权");
  166. ErrorCode USER_ERROR_A0906 = new ErrorCode("A0906", "用户位置信息未授权");
  167. ErrorCode USER_ERROR_A0907 = new ErrorCode("A0907", "用户通讯录未授权");
  168. /**
  169. * 二级宏观错误码
  170. */
  171. ErrorCode USER_ERROR_A1000 = new ErrorCode("A1000", "用户设备异常");
  172. ErrorCode USER_ERROR_A1001 = new ErrorCode("A1001", "用户相机异常");
  173. ErrorCode USER_ERROR_A1002 = new ErrorCode("A1002", "用户麦克风异常");
  174. ErrorCode USER_ERROR_A1003 = new ErrorCode("A1003", "用户听筒异常");
  175. ErrorCode USER_ERROR_A1004 = new ErrorCode("A1004", "用户扬声器异常");
  176. ErrorCode USER_ERROR_A1005 = new ErrorCode("A1005", "用户 GPS 定位异常");
  177. /**
  178. * 系统异常
  179. * 一级宏观错误码
  180. */
  181. ErrorCode SYSTEM_ERROR_B0001 = new ErrorCode("B0001", "系统执行出错");
  182. /**
  183. * 二级宏观错误码
  184. */
  185. ErrorCode SYSTEM_ERROR_B0100 = new ErrorCode("B0100", "系统执行超时");
  186. ErrorCode SYSTEM_ERROR_B0101 = new ErrorCode("B0101", "系统订单处理超时");
  187. /**
  188. * 二级宏观错误码
  189. */
  190. ErrorCode SYSTEM_ERROR_B0200 = new ErrorCode("B0200", "系统容灾功能被触发");
  191. ErrorCode SYSTEM_ERROR_B0210 = new ErrorCode("B0210", "系统限流");
  192. ErrorCode SYSTEM_ERROR_B0220 = new ErrorCode("B0220", "系统功能降级");
  193. /**
  194. * 二级宏观错误码
  195. */
  196. ErrorCode SYSTEM_ERROR_B0300 = new ErrorCode("B0300", "系统资源异常");
  197. ErrorCode SYSTEM_ERROR_B0310 = new ErrorCode("B0310", "系统资源耗尽");
  198. ErrorCode SYSTEM_ERROR_B0311 = new ErrorCode("B0311", "系统磁盘空间耗尽");
  199. ErrorCode SYSTEM_ERROR_B0312 = new ErrorCode("B0312", "系统内存耗尽");
  200. ErrorCode SYSTEM_ERROR_B0313 = new ErrorCode("B0313", "文件句柄耗尽");
  201. ErrorCode SYSTEM_ERROR_B0314 = new ErrorCode("B0314", "系统连接池耗尽");
  202. ErrorCode SYSTEM_ERROR_B0315 = new ErrorCode("B0315", "系统线程池耗尽");
  203. ErrorCode SYSTEM_ERROR_B0320 = new ErrorCode("B0320", "系统资源访问异常");
  204. ErrorCode SYSTEM_ERROR_B0321 = new ErrorCode("B0321", "系统读取磁盘文件失败");
  205. /**
  206. * 调用第三方服务
  207. * 一级宏观错误码
  208. */
  209. ErrorCode SERVICE_ERROR_C0001 = new ErrorCode("C0001", "调用第三方服务出错");
  210. /**
  211. * 二级宏观错误码
  212. */
  213. ErrorCode SERVICE_ERROR_C0100 = new ErrorCode("C0100", "中间件服务出错");
  214. ErrorCode SERVICE_ERROR_C0110 = new ErrorCode("C0110", "RPC 服务出错");
  215. ErrorCode SERVICE_ERROR_C0111 = new ErrorCode("C0111", "RPC 服务未找到");
  216. ErrorCode SERVICE_ERROR_C0112 = new ErrorCode("C0112", "RPC 服务未注册");
  217. ErrorCode SERVICE_ERROR_C0113 = new ErrorCode("C0113", "接口不存在");
  218. ErrorCode SERVICE_ERROR_C0120 = new ErrorCode("C0120", "消息服务出错");
  219. ErrorCode SERVICE_ERROR_C0121 = new ErrorCode("C0121", "消息投递出错");
  220. ErrorCode SERVICE_ERROR_C0122 = new ErrorCode("C0122", "消息消费出错");
  221. ErrorCode SERVICE_ERROR_C0123 = new ErrorCode("C0123", "消息订阅出错");
  222. ErrorCode SERVICE_ERROR_C0124 = new ErrorCode("C0124", "消息分组未查到");
  223. ErrorCode SERVICE_ERROR_C0130 = new ErrorCode("C0130", "缓存服务出错");
  224. ErrorCode SERVICE_ERROR_C0131 = new ErrorCode("C0131", "key 长度超过限制");
  225. ErrorCode SERVICE_ERROR_C0132 = new ErrorCode("C0132", "value 长度超过限制");
  226. ErrorCode SERVICE_ERROR_C0133 = new ErrorCode("C0133", "存储容量已满");
  227. ErrorCode SERVICE_ERROR_C0134 = new ErrorCode("C0134", "不支持的数据格式");
  228. ErrorCode SERVICE_ERROR_C0140 = new ErrorCode("C0140", "配置服务出错");
  229. ErrorCode SERVICE_ERROR_C0150 = new ErrorCode("C0150", "网络资源服务出错");
  230. ErrorCode SERVICE_ERROR_C0151 = new ErrorCode("C0151", "VPN 服务出错");
  231. ErrorCode SERVICE_ERROR_C0152 = new ErrorCode("C0152", "CDN 服务出错");
  232. ErrorCode SERVICE_ERROR_C0153 = new ErrorCode("C0153", "域名解析服务出错");
  233. ErrorCode SERVICE_ERROR_C0154 = new ErrorCode("C0154", "网关服务出错");
  234. /**
  235. * 二级宏观错误码
  236. */
  237. ErrorCode SERVICE_ERROR_C0200 = new ErrorCode("C0200", "第三方系统执行超时");
  238. ErrorCode SERVICE_ERROR_C0210 = new ErrorCode("C0210", "RPC 执行超时");
  239. ErrorCode SERVICE_ERROR_C0220 = new ErrorCode("C0220", "消息投递超时");
  240. ErrorCode SERVICE_ERROR_C0230 = new ErrorCode("C0230", "缓存服务超时");
  241. ErrorCode SERVICE_ERROR_C0240 = new ErrorCode("C0240", "配置服务超时");
  242. ErrorCode SERVICE_ERROR_C0250 = new ErrorCode("C0250", "数据库服务超时");
  243. /**
  244. * 二级宏观错误码
  245. */
  246. ErrorCode SERVICE_ERROR_C0300 = new ErrorCode("C0300", "数据库服务出错");
  247. ErrorCode SERVICE_ERROR_C0311 = new ErrorCode("C0311", "表不存在");
  248. ErrorCode SERVICE_ERROR_C0312 = new ErrorCode("C0312", "列不存在");
  249. ErrorCode SERVICE_ERROR_C0321 = new ErrorCode("C0321", "多表关联中存在多个相同名称的列");
  250. ErrorCode SERVICE_ERROR_C0331 = new ErrorCode("C0331", "数据库死锁");
  251. ErrorCode SERVICE_ERROR_C0341 = new ErrorCode("C0341", "主键冲突");
  252. /**
  253. * 二级宏观错误码
  254. */
  255. ErrorCode SERVICE_ERROR_C0400 = new ErrorCode("C0400", "第三方容灾系统被触发");
  256. ErrorCode SERVICE_ERROR_C0401 = new ErrorCode("C0401", "第三方系统限流");
  257. ErrorCode SERVICE_ERROR_C0402 = new ErrorCode("C0402", "第三方功能降级");
  258. /**
  259. * 二级宏观错误码
  260. */
  261. ErrorCode SERVICE_ERROR_C0500 = new ErrorCode("C0500", "通知服务出错");
  262. ErrorCode SERVICE_ERROR_C0501 = new ErrorCode("C0501", "短信提醒服务失败");
  263. ErrorCode SERVICE_ERROR_C0502 = new ErrorCode("C0502", "语音提醒服务失败");
  264. ErrorCode SERVICE_ERROR_C0503 = new ErrorCode("C0503", "邮件提醒服务失败");
  265. }