From 698ae84adaf1b8d0e8dd61d7279863fe17c1e81d Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期四, 23 一月 2025 14:20:39 +0800
Subject: [PATCH] 1

---
 ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/CompanyServiceImpl.java |   30 ++++++++++++++++++++++++++----
 1 files changed, 26 insertions(+), 4 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 831561e..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;
     /**
      * 获取企业列表
      *
@@ -115,7 +121,7 @@
             throw new ServiceException("该企业已存在");
         }
         //身份证二要素校验
-        identityVerification(dto, company, user);
+        identityVerification(dto, user);
         this.save(company);
     }
 
@@ -168,20 +174,20 @@
                 throw new ServiceException("该企业已存在");
             }
         }
-        identityVerification(dto, company, user);
+        identityVerification(dto, user);
         Company companyUpd = BeanUtils.copyBean(dto, Company.class);
         companyUpd.setId(company.getId());
         this.updateById(companyUpd);
     }
 
-    private void identityVerification(MgtCompanyDTO dto, Company company, User user) {
+    private void identityVerification(MgtCompanyDTO dto, User user) {
         //身份证二要素校验
         Boolean res = aliyunCloudAuthUtil.verifyIdCard(dto.getLegalPersonName(), dto.getIdCardNumber());
         if (!res) {
             throw new ServiceException("身份证信息不匹配");
         }
         //营业执照二要素校验
-        res = aliyunCloudAuthUtil.verifyBusinessLicense(dto.getSocialCode(), company.getCompanyName(), user.getUserId());
+        res = aliyunCloudAuthUtil.verifyBusinessLicense(dto.getSocialCode(), dto.getCompanyName(), user.getUserId());
         if (!res) {
             throw new ServiceException("营业执照信息不匹配");
         }
@@ -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