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 f6dcfeb24eff55d47771d417d7a384efe9f7dd1b..204a78b42d6d25f1ddcf45200af5f3bd25300633 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 0000000000000000000000000000000000000000..1ebe3990bac20d7aa88b5d3b604e4be379347323
--- /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 481210d2a402bafcec7419cf91758889fbed4d23..3a4ec257acdd7b90decd6444270a836d45bfe707 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 95e9965122b73ef61f3dcd2b71434f131c204e54..253da2d1fd14f12efb4351c1af407d0a27b673f1 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());
}
/**