| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- package com.xuekairui.common;
- import lombok.AllArgsConstructor;
- import lombok.Getter;
- /**
- * 错误码枚举
- */
- @Getter
- @AllArgsConstructor
- public enum ErrorCode {
- // 通用错误
- SUCCESS(200, "操作成功"),
- BAD_REQUEST(400, "请求参数错误"),
- PARAM_ERROR(400, "参数错误"),
- UNAUTHORIZED(401, "未授权,请先登录"),
- FORBIDDEN(403, "无权限访问"),
- NOT_FOUND(404, "资源不存在"),
- TOO_MANY_REQUESTS(429, "请求过于频繁,请稍后再试"),
- BUSINESS_ERROR(500, "业务处理失败"),
- INTERNAL_ERROR(500, "服务器内部错误"),
- // ========== 用户模块 1001-1099 ==========
- USER_NOT_FOUND(1001, "用户不存在"),
- USER_ALREADY_EXISTS(1002, "用户已存在"),
- PHONE_ALREADY_BOUND(1003, "手机号已绑定其他账号"),
- WECHAT_ALREADY_BOUND(1004, "微信已绑定其他账号"),
- USER_DISABLED(1005, "账号已被禁用"),
- PASSWORD_NOT_SET(1006, "未设置密码,请先设置密码"),
- PASSWORD_INCORRECT(1007, "密码错误"),
- OLD_PASSWORD_INCORRECT(1008, "旧密码错误"),
- OLD_PASSWORD_REQUIRED(1009, "请输入旧密码"),
- PHONE_ALREADY_EXISTS(1010, "该手机号已被注册"),
- // ========== 验证码 1101-1199 ==========
- CODE_SEND_TOO_FREQUENT(1101, "验证码发送过于频繁,请稍后再试"),
- CODE_INVALID(1102, "验证码错误或已过期"),
- CODE_EXPIRED(1103, "验证码已过期"),
- // ========== 微信登录 1201-1299 ==========
- WECHAT_CODE_INVALID(1201, "微信授权码无效"),
- WECHAT_BIND_REQUIRED(1202, "请先绑定手机号"),
- WECHAT_LOGIN_FAILED(1203, "微信登录失败,请重试"),
- // ========== Token 1301-1399 ==========
- TOKEN_EXPIRED(1301, "Token已过期"),
- TOKEN_INVALID(1302, "Token无效"),
- REFRESH_TOKEN_INVALID(1303, "刷新Token无效"),
- // ========== 支付模块 2001-2099 ==========
- PAY_ORDER_NOT_FOUND(2001, "支付订单不存在"),
- PAY_ORDER_EXPIRED(2002, "支付订单已过期"),
- PAY_AMOUNT_INVALID(2003, "支付金额不正确"),
- PAY_CHANNEL_NOT_SUPPORT(2004, "不支持该支付渠道"),
- PAY_FAILED(2005, "支付失败,请重试"),
- REFUND_FAILED(2006, "退款失败,请重试"),
- PAY_PLAN_NOT_FOUND(2007, "支付方案不存在"),
- PAY_PLAN_DISABLED(2008, "支付方案已下架"),
- PAY_SIGN_VERIFY_FAILED(2009, "支付回调验签失败"),
- PAY_CHANNEL_NOT_CONFIGURED(2010, "支付渠道未配置,请检查payment配置"),
- PAY_PLAN_CODE_DUPLICATE(2011, "方案编码已存在"),
- // ========== 等级模块 4001-4099 ==========
- LEVEL_NOT_FOUND(4001, "用户等级不存在"),
- LEVEL_DISABLED(4002, "该等级已禁用"),
- LEVEL_CODE_DUPLICATE(4003, "等级编码已存在"),
- // ========== 优惠券 4101-4199 ==========
- COUPON_NOT_FOUND(4101, "优惠券不存在"),
- COUPON_DISABLED(4102, "优惠券已下架"),
- COUPON_EXHAUSTED(4103, "优惠券已发放完毕"),
- COUPON_EXPIRED(4104, "优惠券已过期"),
- COUPON_ALREADY_USED(4105, "优惠券已使用"),
- COUPON_LEVEL_NOT_ENOUGH(4106, "等级不满足优惠券领取条件"),
- COUPON_RECEIVE_LIMIT(4107, "已达领取上限"),
- // ========== 爬虫权益 4201-4299 ==========
- CRAWLER_QUOTA_EXCEEDED(4201, "今日爬虫次数已用完"),
- CRAWLER_MONTHLY_QUOTA_EXCEEDED(4202, "本月爬虫次数已用完"),
- CRAWLER_YEARLY_QUOTA_EXCEEDED(4205, "本年爬虫次数已用完"),
- CRAWLER_CONCURRENT_LIMIT(4203, "爬虫并发数已达上限"),
- CRAWLER_NO_PERMISSION(4204, "无爬虫使用权限"),
- // ========== 邀请模块 3001-3099 ==========
- INVITE_CODE_INVALID(3001, "邀请码无效"),
- INVITE_CODE_EXPIRED(3002, "邀请码已过期"),
- INVITE_SELF_FORBIDDEN(3003, "不能使用自己的邀请码"),
- INVITE_ALREADY_USED(3004, "该邀请码已被使用"),
- INVITE_RELATION_EXISTS(3005, "邀请关系已存在"),
- INVITE_REWARD_FAILED(3006, "邀请奖励发放失败"),
- INVITE_BIND_EXPIRED(3007, "注册时间已超过有效期,无法补填邀请码"),
- INVITE_LIMIT_REACHED(3008, "邀请人数已达上限"),
- // ========== 搜索模块 4301-4399 ==========
- SEARCH_QUOTA_EXCEEDED(4301, "搜索次数已用完"),
- SEARCH_HISTORY_NOT_FOUND(4302, "搜索记录不存在"),
- SEARCH_KEYWORD_EMPTY(4303, "搜索关键词不能为空"),
- // ========== 关注模块 4401-4499 ==========
- WATCHLIST_LIMIT_EXCEEDED(4401, "关注品种数已达上限"),
- WATCHLIST_ALREADY_EXISTS(4402, "该药品已在关注列表中"),
- WATCHLIST_NOT_FOUND(4403, "关注记录不存在");
- private final int code;
- private final String message;
- /**
- * 根据错误码查找枚举
- */
- public static ErrorCode getByCode(int code) {
- for (ErrorCode errorCode : values()) {
- if (errorCode.getCode() == code) {
- return errorCode;
- }
- }
- return null;
- }
- /**
- * 判断是否为成功状态
- */
- public boolean isSuccess() {
- return this == SUCCESS;
- }
- /**
- * 判断是否为客户端错误(4xx)
- */
- public boolean isClientError() {
- return code >= 400 && code < 500;
- }
- /**
- * 判断是否为服务器错误(5xx)
- */
- public boolean isServerError() {
- return code >= 500 && code < 600;
- }
- }
|