From 7ccbd7f6fc245ee6a8704140ae7ad09e2509e6c4 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 27 九月 2024 09:46:06 +0800
Subject: [PATCH] redis服务移动到base下,实现超时过期用户减去一个在线用户数

---
 Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/interceptor/VciSecurityInterceptor.java |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/interceptor/VciSecurityInterceptor.java b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/interceptor/VciSecurityInterceptor.java
index 9679f27..68ef18a 100644
--- a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/interceptor/VciSecurityInterceptor.java
+++ b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/interceptor/VciSecurityInterceptor.java
@@ -4,9 +4,11 @@
 import com.vci.starter.web.annotation.controller.VciUnCheckRight;
 import com.vci.starter.web.autoconfigure.SpringMVCConfig;
 import com.vci.starter.web.constant.TokenKeyConstant;
+import com.vci.starter.web.constant.VConstant;
 import com.vci.starter.web.enumpck.ResultCodeEnum;
 import com.vci.starter.web.pagemodel.BaseResult;
 import com.vci.starter.web.pagemodel.SessionInfo;
+import com.vci.starter.web.redis.RedisService;
 import com.vci.starter.web.util.ApplicationContextProvider;
 import com.vci.starter.web.util.LangBaseUtil;
 import com.vci.starter.web.util.VciBaseUtil;
@@ -15,15 +17,11 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.AnnotationConfigApplicationContext;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.stereotype.Component;
-import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.method.HandlerMethod;
 import org.springframework.web.servlet.HandlerInterceptor;
 
-import javax.annotation.Resource;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -56,6 +54,9 @@
     @Autowired
     private VciSessionForLoginI vciSessionForLoginI;
 
+    @Autowired
+    private RedisService redisService;
+
     /**
      * 鎵ц鎷︽埅
      * @param request 璇锋眰瀵硅薄
@@ -76,7 +77,7 @@
         if(StringUtils.isBlank(userToken)){
             userToken = request.getParameter(TokenKeyConstant.USER_TOKEN_KEY);
         }
-        if(!(handler instanceof  HandlerMethod)){
+        if(!(handler instanceof HandlerMethod)){
             return true;
         }
 
@@ -127,6 +128,11 @@
                 if(logger.isErrorEnabled()) {
                     logger.error("token鍊奸潪娉曪紝鎴栬繃鏈燂紝鎴栬�呯敤鎴峰凡缁忚韪笅绾�," + userToken);
                 }
+                //鍒犻櫎缂撳瓨涓粺璁$殑鐢ㄦ埛淇℃伅
+                if(redisService == null){
+                    redisService = ApplicationContextProvider.getBean(RedisService.class);
+                }
+                redisService.decreOnlineUser(VConstant.CURRENT_LOGGED_USERS_KEY);
                 sendErrorMsg(response,"token鍊奸潪娉曪紝鎴栬繃鏈燂紝鎴栬�呯敤鎴峰凡缁忚韪笅绾�," + userToken,1);
                 return false;
             }else{

--
Gitblit v1.9.3