From 77094dd01f0c6ff59b4fb4fa1105addf34b2398c Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期二, 16 六月 2026 18:49:03 +0800
Subject: [PATCH] 新增智能电表、空调管理

---
 server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java |   19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java b/server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java
index abd19e5..52c092d 100644
--- a/server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java
+++ b/server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java
@@ -1,10 +1,12 @@
 package com.doumee.config.cloudfilter;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.doumee.config.annotation.CloudRequiredPermission;
 import com.doumee.config.annotation.LoginNoRequired;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.ApiResponse;
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.utils.Constants;
 import org.apache.commons.lang3.StringUtils;
@@ -47,7 +49,7 @@
                 //鑾峰彇token
                 Cookie[]  cookies =   request.getCookies();
                 String token = request.getHeader(Constants.HEADER_USER_TOKEN);  // 浠� http 璇锋眰澶翠腑鍙栧嚭 token
-                if(StringUtils.isBlank(token)){
+                if(StringUtils.isBlank(token) && cookies != null){
                     for(Cookie c :cookies){
                         if(StringUtils.equals(c.getName(),Constants.HEADER_USER_TOKEN)){
                             token = c.getValue();
@@ -74,7 +76,7 @@
                                 }
                             }
                             if (!hasPermission) {
-                                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "娌℃湁璇ユ搷浣滄潈闄�");
+                                return writeBusinessError(response, ResponseStatus.NOT_ALLOWED.getCode(), "娌℃湁璇ユ搷浣滄潈闄�");
                             }
                         }
                     }
@@ -89,16 +91,23 @@
                     }catch (Exception e){
                     }*/
                 } else {
-                    throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"鏈櫥褰�");
+                    return writeBusinessError(response, ResponseStatus.NO_LOGIN.getCode(), "鏈櫥褰�");
                 }
             }
-        }else{
-            throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"鏈櫥褰�");
+        } else {
+            return writeBusinessError(response, ResponseStatus.NO_LOGIN.getCode(), "鏈櫥褰�");
         }
 
         return true;
     }
 
+    private boolean writeBusinessError(HttpServletResponse response, Integer code, String message) throws IOException {
+        response.setStatus(HttpServletResponse.SC_OK);
+        response.setHeader("content-type", "application/json;charset=UTF-8");
+        response.getWriter().write(JSON.toJSONString(ApiResponse.failed(code, message)));
+        return false;
+    }
+
     private String getRequestBody(HttpServletRequest request) {
         // 瀹炵幇浠巖equest鑾峰彇璇锋眰浣撶殑閫昏緫
         String body = null;

--
Gitblit v1.9.3