From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
jnpf-flow-engine/src/main/java/jnpf/workflow/admin/handle/GlobalExceptionHandler.java | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 48 insertions(+), 0 deletions(-)
diff --git a/jnpf-flow-engine/src/main/java/jnpf/workflow/admin/handle/GlobalExceptionHandler.java b/jnpf-flow-engine/src/main/java/jnpf/workflow/admin/handle/GlobalExceptionHandler.java
new file mode 100644
index 0000000..6174982
--- /dev/null
+++ b/jnpf-flow-engine/src/main/java/jnpf/workflow/admin/handle/GlobalExceptionHandler.java
@@ -0,0 +1,48 @@
+package jnpf.workflow.admin.handle;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+import org.springframework.context.support.DefaultMessageSourceResolvable;
+import org.springframework.validation.BindException;
+import org.springframework.validation.FieldError;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+
+import jakarta.servlet.http.HttpServletRequest;
+import jnpf.workflow.admin.result.Result;
+import jnpf.workflow.common.exception.BizException;
+import jnpf.workflow.common.exception.ResultCode;
+import lombok.extern.slf4j.Slf4j;
+
+@Slf4j
+@RestControllerAdvice
+public class GlobalExceptionHandler {
+
+ @ExceptionHandler(BindException.class)
+ public Result<?> bindExceptionHandler(BindException e) {
+ log.error("鎺ュ彛鏍¢獙澶辫触锛佸師鍥犳槸:{}", e.getMessage(), e);
+ List<FieldError> fieldErrors = e.getBindingResult().getFieldErrors();
+ List<String> collect = fieldErrors.stream().map(DefaultMessageSourceResolvable::getDefaultMessage).collect(Collectors.toList());
+ String msg = String.join(",", collect);
+ return Result.failed(ResultCode.REQUEST_PARAM_IS_NULL, msg);
+ }
+
+ @ExceptionHandler(NullPointerException.class)
+ public Result<?> exceptionHandler(HttpServletRequest req, NullPointerException e) {
+ log.error("鍙戠敓绌烘寚閽堝紓甯革紒鍘熷洜鏄�:{}", e.getMessage(), e);
+ return Result.failed(ResultCode.SYSTEM_EXECUTION_ERROR);
+ }
+
+ @ExceptionHandler(BizException.class)
+ public Result<?> exceptionHandler(HttpServletRequest req, BizException e) {
+ log.error("BizException锛佸師鍥犳槸:{}", e.getMessage(), e);
+ return Result.failed(e.getResultCode(), e.getMessage());
+ }
+
+ @ExceptionHandler(Exception.class)
+ public Result<?> exceptionHandler(HttpServletRequest req, Exception e) {
+ log.error("鏈煡寮傚父锛佸師鍥犳槸:{}", e.getMessage(), e);
+ return Result.failed(e.getMessage());
+ }
+}
--
Gitblit v1.8.0