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());
}
/**