From 16a57a8fc6868cea9171a1119698572407a2fc03 Mon Sep 17 00:00:00 2001
From: hejianhao <15708179461@qq.com>
Date: 星期五, 28 八月 2026 15:21:46 +0800
Subject: [PATCH] fix0806: APP端去掉全部的市辖区选择

---
 tcm-training-admin-backend/src/main/java/com/tcm/training/admin/common/GlobalExceptionHandler.java |   23 ++++++++++++++++++++++-
 1 files changed, 22 insertions(+), 1 deletions(-)

diff --git a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/common/GlobalExceptionHandler.java b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/common/GlobalExceptionHandler.java
index 3e5210a..422a0c4 100644
--- a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/common/GlobalExceptionHandler.java
+++ b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/common/GlobalExceptionHandler.java
@@ -2,6 +2,7 @@
 
 import cn.dev33.satoken.exception.NotLoginException;
 import com.fasterxml.jackson.databind.exc.InvalidFormatException;
+import com.tcm.training.admin.app.auth.exception.InviteCodeRequiredException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.validation.BindException;
@@ -22,6 +23,7 @@
 public class GlobalExceptionHandler {
 
     private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);
+    private static final String DEFAULT_SERVER_ERROR_MESSAGE = "服务器开小差啦,请稍后重试";
 
     @ExceptionHandler(NotLoginException.class)
     public ApiResponse<Void> handleNotLogin(NotLoginException e, HttpServletRequest request) {
@@ -47,10 +49,22 @@
         return ApiResponse.fail(400, "参数错误");
     }
 
+    @ExceptionHandler(InviteCodeRequiredException.class)
+    public ApiResponse<Void> handleInviteCodeRequired(InviteCodeRequiredException e, HttpServletRequest request) {
+        log.warn("第三方授权缺少邀请码 [{} {}]: {}", request.getMethod(), request.getRequestURI(), e.getMessage());
+        return ApiResponse.fail(506, e.getMessage());
+    }
+
     @ExceptionHandler(IllegalArgumentException.class)
     public ApiResponse<Void> handleIllegalArgument(IllegalArgumentException e, HttpServletRequest request) {
         log.warn("业务参数异常 [{} {}]: {}", request.getMethod(), request.getRequestURI(), e.getMessage(), e);
         return ApiResponse.fail(400, e.getMessage());
+    }
+
+    @ExceptionHandler(IllegalStateException.class)
+    public ApiResponse<Void> handleIllegalState(IllegalStateException e, HttpServletRequest request) {
+        log.warn("业务状态异常 [{} {}]: {}", request.getMethod(), request.getRequestURI(), e.getMessage(), e);
+        return ApiResponse.fail(500, resolveClientMessage(e.getMessage()));
     }
 
     @ExceptionHandler(HttpMessageNotReadableException.class)
@@ -68,7 +82,14 @@
     @ExceptionHandler(Exception.class)
     public ApiResponse<Void> handleException(Exception e, HttpServletRequest request) {
         log.error("未捕获异常 [{} {}]", request.getMethod(), request.getRequestURI(), e);
-        return ApiResponse.fail(500, "服务器内部错误");
+        return ApiResponse.fail(500, DEFAULT_SERVER_ERROR_MESSAGE);
+    }
+
+    private String resolveClientMessage(String message) {
+        if (message == null || message.trim().isEmpty()) {
+            return DEFAULT_SERVER_ERROR_MESSAGE;
+        }
+        return message;
     }
 
     private String resolveReadableMessage(Throwable throwable) {

--
Gitblit v1.7.1