From 759e0540a7ca20f33ab265d00e7944e4f18a562b Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期三, 22 一月 2025 23:12:15 +0800
Subject: [PATCH] 1

---
 ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/CompanyServiceImpl.java |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/CompanyServiceImpl.java b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/CompanyServiceImpl.java
index 694fa64..6b4da84 100644
--- a/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/CompanyServiceImpl.java
+++ b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/CompanyServiceImpl.java
@@ -3,10 +3,12 @@
 import cn.idev.excel.FastExcel;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.constant.CacheConstants;
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.page.BeanUtils;
 import com.ruoyi.common.core.page.PageDTO;
 import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.redis.service.RedisService;
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.company.api.domain.Company;
 import com.ruoyi.company.api.domain.User;
@@ -19,6 +21,7 @@
 import com.ruoyi.company.service.CompanyService;
 import com.ruoyi.company.service.UserService;
 import com.ruoyi.company.utils.AliyunCloudAuthUtil;
+import com.ruoyi.system.api.model.AppUser;
 import lombok.RequiredArgsConstructor;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
@@ -27,6 +30,7 @@
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.net.URLEncoder;
+import java.util.Collection;
 import java.util.List;
 import java.util.Objects;
 
@@ -37,6 +41,8 @@
     private final HttpServletResponse response;
 
     private final AliyunCloudAuthUtil aliyunCloudAuthUtil;
+
+    private final RedisService redisService;
     /**
      * 获取企业列表
      *
@@ -205,6 +211,22 @@
         //删除企业信息
         this.removeById(id);
 
+        //强退用户
+        forceLogout(company.getUserId());
+
+    }
+
+    public void forceLogout(Long userId) {
+        Collection<String> keys = redisService.keys(CacheConstants.LOGIN_TOKEN_KEY + "*");
+        for (String key : keys) {
+            Object user = redisService.getCacheObject(key);
+            if (user instanceof AppUser) {
+                AppUser appUser = (AppUser) user;
+                if (appUser.getUserId().equals(userId)) {
+                    redisService.deleteObject(key);
+                }
+            }
+        }
     }
 
     @Override

--
Gitblit v1.7.1