目录结构如下

BizCodeEnum
package net.xdclass.enums; import lombok.Getter; /** * 小滴课堂,愿景:让技术不再难学 * * @Description 状态码定义约束,共6位数,前三位代表服务,后3位代表接口 * 比如 商品服务210,购物车是220、用户服务230,403代表权限 * **/ public enum BizCodeEnum { /** * 短链分组 */ GROUP_REPEAT(23001,"分组名重复"), GROUP_OPER_FAIL(23503,"分组名操作失败"), GROUP_NOT_EXIST(23404,"分组不存在"), /** *验证码 */ CODE_TO_ERROR(240001,"接收号码不合规"), CODE_LIMITED(240002,"验证码发送过快"), CODE_ERROR(240003,"验证码错误"), CODE_CAPTCHA_ERROR(240101,"图形验证码错误"), /** * 账号 */ ACCOUNT_REPEAT(250001,"账号已经存在"), ACCOUNT_UNREGISTER(250002,"账号不存在"), ACCOUNT_PWD_ERROR(250003,"账号或者密码错误"), ACCOUNT_UNLOGIN(250004,"账号未登录"), /** * 短链 */ SHORT_LINK_NOT_EXIST(260404,"短链不存在"), /** * 订单 */ ORDER_CONFIRM_PRICE_FAIL(280002,"创建订单-验价失败"), ORDER_CONFIRM_REPEAT(280008,"订单恶意-重复提交"), ORDER_CONFIRM_TOKEN_EQUAL_FAIL(280009,"订单令牌缺少"), ORDER_CONFIRM_NOT_EXIST(280010,"订单不存在"), /** * 支付 */ PAY_ORDER_FAIL(300001,"创建支付订单失败"), PAY_ORDER_CALLBACK_SIGN_FAIL(300002,"支付订单回调验证签失败"), PAY_ORDER_CALLBACK_NOT_SUCCESS(300003,"支付宝回调更新订单失败"), PAY_ORDER_NOT_EXIST(300005,"订单不存在"), PAY_ORDER_STATE_ERROR(300006,"订单状态不正常"), PAY_ORDER_PAY_TIMEOUT(300007,"订单支付超时"), /** * 流控操作 */ CONTROL_FLOW(500101,"限流控制"), CONTROL_DEGRADE(500201,"降级控制"), CONTROL_AUTH(500301,"认证控制"), /** * 流量包操作 */ TRAFFIC_FREE_NOT_EXIST(600101,"免费流量包不存在,联系客服"), TRAFFIC_REDUCE_FAIL(600102,"流量不足,扣减失败"), TRAFFIC_EXCEPTION(600103,"流量包数据异常,用户无流量包"), /** * 通用操作码 */ OPS_REPEAT(110001,"重复操作"), OPS_NETWORK_ADDRESS_ERROR(110002,"网络地址错误"), /** * 文件相关 */ FILE_UPLOAD_USER_IMG_FAIL(700101,"用户头像文件上传失败"); @Getter private String message; @Getter private int code; private BizCodeEnum(int code, String message){ this.code = code; this.message = message; } }
package net.xdclass.exception;
import lombok.Data;
import net.xdclass.enums.BizCodeEnum;
/**
* 小滴课堂,愿景:让技术不再难学
*
* @Description
* @Author 二当家小D
* @Remark 有问题直接联系我,源码-笔记-技术交流群
* @Version 1.0
**/
@Data
public class BizException extends RuntimeException {
private int code;
private String msg;
public BizException(Integer code, String message) {
super(message);
this.code = code;
this.msg = message;
}
public BizException(BizCodeEnum bizCodeEnum){
super(bizCodeEnum.getMessage());
this.code = bizCodeEnum.getCode();
this.msg = bizCodeEnum.getMessage();
}
}
package net.xdclass.exception;
import lombok.extern.slf4j.Slf4j;
import net.xdclass.util.JsonData;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestControllerAdvice;
/**
* 小滴课堂,愿景:让技术不再难学
*
* @Description
* @Author 二当家小D
* @Remark 有问题直接联系我,源码-笔记-技术交流群
* @Version 1.0
**/
@ControllerAdvice
//@RestControlle

该文定义了一个枚举类BizCodeEnum,包含各种业务状态码,如分组操作、验证码、账号、订单、支付等。同时,提供了异常处理类BizException和全局异常处理器CustomExceptionHandler,用于捕获和响应业务异常。此外,还包含了工具类如CommonUtil,提供IP获取、MD5加密等实用方法。
最低0.47元/天 解锁文章
1225

被折叠的 条评论
为什么被折叠?



