diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/code/UserErrorCode.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/code/UserErrorCode.java index f6dcfeb2..204a78b4 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/code/UserErrorCode.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/code/UserErrorCode.java @@ -22,7 +22,7 @@ public enum UserErrorCode implements ErrorCode { ALREADY_EXIST(30003, "数据已存在了呀~"), - REPEAT_SUBMIT(30004, "亲~您操作的太快了,请稍等下再操作~"), + REPEAT_SUBMIT(30004, "亲~您操作得太快了,请稍等下再操作~"), NO_PERMISSION(30005, "对不起,您没有权限访问此内容哦~"), diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/exception/BaseException.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/exception/BaseException.java new file mode 100644 index 00000000..1ebe3990 --- /dev/null +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/exception/BaseException.java @@ -0,0 +1,33 @@ +package net.lab1024.sa.base.common.exception; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import net.lab1024.sa.base.common.code.ErrorCode; + +import java.io.Serial; + +/** + * 基础异常 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class BaseException extends RuntimeException { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 错误码 + */ + private ErrorCode errorCode; + + /** + * 错误消息 + */ + private String message; + +} diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/exception/BusinessException.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/exception/BusinessException.java index 481210d2..3a4ec257 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/exception/BusinessException.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/exception/BusinessException.java @@ -1,38 +1,49 @@ package net.lab1024.sa.base.common.exception; import net.lab1024.sa.base.common.code.ErrorCode; +import net.lab1024.sa.base.common.code.SystemErrorCode; /** - * 业务逻辑异常,全局异常拦截后统一返回ResponseCodeConst.SYSTEM_ERROR + * 业务逻辑异常,全局异常拦截后统一返回 * * @Author 1024创新实验室: 罗伊 * @Date 2020/8/25 21:57 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ -public class BusinessException extends RuntimeException { +public class BusinessException extends BaseException { public BusinessException() { + super(SystemErrorCode.SYSTEM_ERROR, null); } - public BusinessException(ErrorCode errorCode) { - super(errorCode.getMsg()); - } - + /** + * 业务异常 + * + * @param message 错误提示 + */ public BusinessException(String message) { - super(message); + super(SystemErrorCode.SYSTEM_ERROR, message); } - public BusinessException(String message, Throwable cause) { - super(message, cause); + /** + * 业务异常 + * + * @param errorCode 错误码 + */ + public BusinessException(ErrorCode errorCode) { + super(errorCode, null); } - public BusinessException(Throwable cause) { - super(cause); + /** + * 业务异常 + * + * @param errorCode 错误码 + * @param message 错误提示 + */ + public BusinessException(ErrorCode errorCode, String message) { + super(errorCode, message); } - public BusinessException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { - super(message, cause, enableSuppression, writableStackTrace); - } } diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/handler/GlobalExceptionHandler.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/handler/GlobalExceptionHandler.java index 95e99651..253da2d1 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/handler/GlobalExceptionHandler.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/handler/GlobalExceptionHandler.java @@ -1,6 +1,7 @@ package net.lab1024.sa.base.handler; import cn.dev33.satoken.exception.NotPermissionException; +import cn.hutool.core.util.StrUtil; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import net.lab1024.sa.base.common.code.SystemErrorCode; @@ -99,7 +100,10 @@ public class GlobalExceptionHandler { if (!systemEnvironment.isProd()) { log.error("全局业务异常,URL:{}", getCurrentRequestUrl(), e); } - return ResponseDTO.error(SystemErrorCode.SYSTEM_ERROR, e.getMessage()); + if (StrUtil.isNotEmpty(e.getMessage())) { + return ResponseDTO.error(e.getErrorCode(), e.getMessage()); + } + return ResponseDTO.error(e.getErrorCode()); } /**