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-file/src/main/resources/bootstrap.yml                                           |    4 
 ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml                                            |    4 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserOnlineController.java   |   35 ++++++-----
 ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java                                |   17 +++++
 ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/front/CompanyController.java |    1 
 ruoyi-gateway/src/main/resources/bootstrap.yml                                                      |   10 +-
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/StringUtils.java           |    5 +
 ruoyi-auth/src/main/java/com/ruoyi/auth/utils/SmsUtils.java                                         |    4 +
 ruoyi-auth/src/main/resources/bootstrap.yml                                                         |    6 +-
 ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/CompanyServiceImpl.java    |   22 +++++++
 ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java                             |    1 
 ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/front/UserController.java    |   21 ++++++-
 ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml                                         |    6 +-
 ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java                                |    1 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CommonController.java          |    2 
 ruoyi-modules/ruoyi-company/src/main/resources/bootstrap.yml                                        |    6 +-
 ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml                                         |    4 
 ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml                                            |    4 
 18 files changed, 111 insertions(+), 42 deletions(-)

diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java
index 91495f4..3461cd8 100644
--- a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java
+++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java
@@ -209,6 +209,7 @@
             if (l1 - l > 2 * 60 * 1000) {
                 throw new CaptchaException("验证码已失效");
             }
+            captcha = split[0];
             if (!smsCode.equalsIgnoreCase(captcha)) {
                 throw new CaptchaException("验证码错误");
             }
diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java
index 934c52b..6d1e19f 100644
--- a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java
+++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java
@@ -23,12 +23,14 @@
 import com.ruoyi.company.api.model.RegisterUser;
 import com.ruoyi.system.api.RemoteUserService;
 import com.ruoyi.system.api.domain.SysUser;
+import com.ruoyi.system.api.model.AppUser;
 import com.ruoyi.system.api.model.LoginUser;
 import lombok.RequiredArgsConstructor;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
+import java.util.Collection;
 import java.util.List;
 import java.util.Objects;
 
@@ -170,6 +172,7 @@
             if (l1 - l > 2 * 60 * 1000) {
                 throw new CaptchaException("验证码已失效");
             }
+            captcha = split[0];
             if (!smsCode.equalsIgnoreCase(captcha)) {
                 throw new CaptchaException("验证码错误");
             }
@@ -220,6 +223,20 @@
         if (R.isError(r)) {
             throw new ServiceException(r.getMsg());
         }
+        forceLogout(user.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);
+                }
+            }
+        }
     }
 
 
diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/utils/SmsUtils.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/utils/SmsUtils.java
index 7689e11..77a2a00 100644
--- a/ruoyi-auth/src/main/java/com/ruoyi/auth/utils/SmsUtils.java
+++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/utils/SmsUtils.java
@@ -1,12 +1,15 @@
 package com.ruoyi.auth.utils;
 
+import com.alibaba.fastjson2.JSONObject;
 import com.aliyuncs.DefaultAcsClient;
 import com.aliyuncs.IAcsClient;
 import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
 import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
 import com.aliyuncs.exceptions.ClientException;
 import com.aliyuncs.profile.DefaultProfile;
+import lombok.extern.slf4j.Slf4j;
 
+@Slf4j
 public class SmsUtils {
     public static String sendSms(String phoneNumber, String code) {
         // 设置AccessKeyId、AccessKeySecret等信息
@@ -27,6 +30,7 @@
         try {
             // 发送短信并打印结果
             SendSmsResponse response = client.getAcsResponse(request);
+            log.info("发送短信结果:{}", JSONObject.toJSONString(response));
             return response.getCode();
         } catch (ClientException e) {
             e.printStackTrace();
diff --git a/ruoyi-auth/src/main/resources/bootstrap.yml b/ruoyi-auth/src/main/resources/bootstrap.yml
index 1346af2..1a1e912 100644
--- a/ruoyi-auth/src/main/resources/bootstrap.yml
+++ b/ruoyi-auth/src/main/resources/bootstrap.yml
@@ -14,11 +14,11 @@
     nacos:
       discovery:
         # 服务注册地址
-        server-addr: 192.168.110.111:8848
-        ip: 192.168.110.111
+        server-addr: 127.0.0.1:8848
+#        ip: 192.168.110.111
       config:
         # 配置中心地址
-        server-addr: 192.168.110.111:8848
+        server-addr: 127.0.0.1:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/StringUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/StringUtils.java
index 7a1270e..29dad5b 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/StringUtils.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/StringUtils.java
@@ -1,5 +1,6 @@
 package com.ruoyi.common.core.utils;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
@@ -534,6 +535,10 @@
         return false;
     }
 
+    public static void main(String[] args) {
+        List<String> strs = new ArrayList<>();
+    }
+
     /**
      * 判断url是否与规则配置: 
      * ? 表示单个字符; 
diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
index 51d39ef..fbfa31f 100644
--- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
+++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
@@ -54,6 +54,7 @@
         String token = getToken(request);
         if (StringUtils.isEmpty(token))
         {
+            System.out.println(ignoreWhite.getWhites());
             return unauthorizedResponse(exchange, "令牌不能为空");
         }
         Claims claims = JwtUtils.parseToken(token);
diff --git a/ruoyi-gateway/src/main/resources/bootstrap.yml b/ruoyi-gateway/src/main/resources/bootstrap.yml
index 9bb360b..00b0a02 100644
--- a/ruoyi-gateway/src/main/resources/bootstrap.yml
+++ b/ruoyi-gateway/src/main/resources/bootstrap.yml
@@ -14,11 +14,11 @@
     nacos:
       discovery:
         # 服务注册地址
-        server-addr: 192.168.110.111:8848
-        ip: 192.168.110.111
+        server-addr: 127.0.0.1:8848
+#        ip: 192.168.110.111
       config:
         # 配置中心地址
-        server-addr: 192.168.110.111:8848
+        server-addr: 127.0.0.1:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置
@@ -29,12 +29,12 @@
       eager: true
       transport:
         # 控制台地址
-        dashboard: 192.168.110.111:8718
+        dashboard: 127.0.0.1:8718
       # nacos配置持久化
       datasource:
         ds1:
           nacos:
-            server-addr: 192.168.110.111:8848
+            server-addr: 127.0.0.1:8848
             dataId: sentinel-ruoyi-gateway
             groupId: DEFAULT_GROUP
             data-type: json
diff --git a/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/front/CompanyController.java b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/front/CompanyController.java
index c969b2c..65223a9 100644
--- a/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/front/CompanyController.java
+++ b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/front/CompanyController.java
@@ -70,4 +70,5 @@
         companyService.updateById(companyDb);
         return R.ok();
     }
+
 }
diff --git a/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/front/UserController.java b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/front/UserController.java
index 0d66acd..6532405 100644
--- a/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/front/UserController.java
+++ b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/front/UserController.java
@@ -106,15 +106,18 @@
         String verifyKey = CacheConstants.PHONE_CODE_KEY + StringUtils.nvl(updatePhone.getNewPhone(), "");
         String captcha = redisService.getCacheObject(verifyKey);
         String[] split = captcha.split(":");
+
+        if (captcha == null) {
+            throw new CaptchaException("验证码错误");
+        }
+
         long l = Long.parseLong(split[1]);
         long l1 = System.currentTimeMillis();
         // 判断是否大于两分钟
         if (l1 - l > 2 * 60 * 1000) {
             throw new CaptchaException("验证码已失效");
         }
-        if (captcha == null) {
-            throw new CaptchaException("验证码错误");
-        }
+        captcha = split[0];
         if (!updatePhone.getCode().equalsIgnoreCase(captcha)) {
             throw new CaptchaException("验证码错误");
         }
@@ -145,4 +148,16 @@
         userService.updateById(user);
         return R.ok();
     }
+
+    /**
+     * 通过公司名称和法人身份证号码查询用户信息
+     */
+    @GetMapping("/getUserByCompanyNameAndLegalId")
+    public R<User> getUserByCompanyNameAndLegalId(String companyName, String cardId) {
+        Company company = companyService.getOne(new LambdaQueryWrapper<Company>()
+                .eq(Company::getCompanyName, companyName)
+                .eq(Company::getIdCardNumber, cardId));
+        User user = userService.getById(company.getUserId());
+        return R.ok(user);
+    }
 }
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
diff --git a/ruoyi-modules/ruoyi-company/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-company/src/main/resources/bootstrap.yml
index 4fc70e1..c5f2cb9 100644
--- a/ruoyi-modules/ruoyi-company/src/main/resources/bootstrap.yml
+++ b/ruoyi-modules/ruoyi-company/src/main/resources/bootstrap.yml
@@ -14,11 +14,11 @@
     nacos:
       discovery:
         # 服务注册地址
-        server-addr: 192.168.110.111:8848
-        ip: 192.168.110.111
+        server-addr: 127.0.0.1:8848
+#        ip: 192.168.110.111
       config:
         # 配置中心地址
-        server-addr: 192.168.110.111:8848
+        server-addr: 127.0.0.1:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置
diff --git a/ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml
index c11657c..c73fb0e 100644
--- a/ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml
+++ b/ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml
@@ -14,10 +14,10 @@
     nacos:
       discovery:
         # 服务注册地址
-        server-addr: 192.168.110.111:8848
+        server-addr: 127.0.0.1:8848
       config:
         # 配置中心地址
-        server-addr: 192.168.110.111:8848
+        server-addr: 127.0.0.1:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置
diff --git a/ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml
index 8ca1ad7..64b9d91 100644
--- a/ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml
+++ b/ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml
@@ -14,10 +14,10 @@
     nacos:
       discovery:
         # 服务注册地址
-        server-addr: 192.168.110.111:8848
+        server-addr: 127.0.0.1:8848
       config:
         # 配置中心地址
-        server-addr: 192.168.110.111:8848
+        server-addr: 127.0.0.1:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置
diff --git a/ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml
index 2cc4b44..817a429 100644
--- a/ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml
+++ b/ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml
@@ -14,10 +14,10 @@
     nacos:
       discovery:
         # 服务注册地址
-        server-addr: 192.168.110.111:8848
+        server-addr: 127.0.0.1:8848
       config:
         # 配置中心地址
-        server-addr: 192.168.110.111:8848
+        server-addr: 127.0.0.1:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CommonController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CommonController.java
index 335d461..cf8ec47 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CommonController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CommonController.java
@@ -34,7 +34,7 @@
             inputStream = UrlDownloader.downloadAsStream(url);
             String jsonStr = OcrUtils.idCard(inputStream,"IdCard");
             if (StringUtils.isEmpty(jsonStr)){
-                return R.fail();
+                return R.fail("身份证识别失败");
             }
 
             JSONObject jsonObject = JSONObject.parseObject(jsonStr);
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserOnlineController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserOnlineController.java
index e9ed9bb..e9aeb10 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserOnlineController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserOnlineController.java
@@ -46,22 +46,25 @@
         List<SysUserOnline> userOnlineList = new ArrayList<SysUserOnline>();
         for (String key : keys)
         {
-            LoginUser user = redisService.getCacheObject(key);
-            if (StringUtils.isNotEmpty(ipaddr) && StringUtils.isNotEmpty(userName))
-            {
-                userOnlineList.add(userOnlineService.selectOnlineByInfo(ipaddr, userName, user));
-            }
-            else if (StringUtils.isNotEmpty(ipaddr))
-            {
-                userOnlineList.add(userOnlineService.selectOnlineByIpaddr(ipaddr, user));
-            }
-            else if (StringUtils.isNotEmpty(userName))
-            {
-                userOnlineList.add(userOnlineService.selectOnlineByUserName(userName, user));
-            }
-            else
-            {
-                userOnlineList.add(userOnlineService.loginUserToUserOnline(user));
+            Object user = redisService.getCacheObject(key);
+            if (user instanceof LoginUser){
+                LoginUser loginUser = (LoginUser) user;
+                if (StringUtils.isNotEmpty(ipaddr) && StringUtils.isNotEmpty(userName))
+                {
+                    userOnlineList.add(userOnlineService.selectOnlineByInfo(ipaddr, userName, loginUser));
+                }
+                else if (StringUtils.isNotEmpty(ipaddr))
+                {
+                    userOnlineList.add(userOnlineService.selectOnlineByIpaddr(ipaddr, loginUser));
+                }
+                else if (StringUtils.isNotEmpty(userName))
+                {
+                    userOnlineList.add(userOnlineService.selectOnlineByUserName(userName, loginUser));
+                }
+                else
+                {
+                    userOnlineList.add(userOnlineService.loginUserToUserOnline(loginUser));
+                }
             }
         }
         Collections.reverse(userOnlineList);
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml
index 59ba4cc..8daad25 100644
--- a/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml
@@ -14,11 +14,11 @@
     nacos:
       discovery:
         # 服务注册地址
-        server-addr: 192.168.110.111:8848
-        ip: 192.168.110.111
+        server-addr: 127.0.0.1:8848
+#        ip: 192.168.110.111
       config:
         # 配置中心地址
-        server-addr: 192.168.110.111:8848
+        server-addr: 127.0.0.1:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置
diff --git a/ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml b/ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml
index 3c90887..5bef22c 100644
--- a/ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml
+++ b/ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml
@@ -14,10 +14,10 @@
     nacos:
       discovery:
         # 服务注册地址
-        server-addr: 192.168.110.111:8848
+        server-addr: 127.0.0.1:8848
       config:
         # 配置中心地址
-        server-addr: 192.168.110.111:8848
+        server-addr: 127.0.0.1:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置

--
Gitblit v1.7.1