From 7de1396e315896dbc72a9d54e44f77434ea90f18 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 14 十二月 2025 23:47:34 +0800
Subject: [PATCH] feat:增加企业微信自动登录

---
 ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java |   21 ++++++++++++++++++---
 1 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java
index de6196c..02bf836 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java
@@ -37,11 +37,26 @@
     @Override
     public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException
     {
-        // 灏濊瘯鍒ゆ柇鏄墜鏈哄彿杩樻槸鐢ㄦ埛鍚�
+
+        // 灏濊瘯鍒ゆ柇鏄墜鏈哄彿銆乷penId杩樻槸鐢ㄦ埛鍚�
         SysUser user = null;
-        
+        //qywechat__
+        if (username.startsWith("qywechat__"))
+        {
+            //浼佷笟寰俊鐧诲綍
+            //qywechat__qyUserId
+            String qyUserId =StringUtils.substringAfter(username, "qywechat__");
+            user = userService.selectUserByQyWechatUserId(qyUserId);
+        }
+        // 鍒ゆ柇鏄惁涓哄井淇penID锛堥�氬父浠�"o"寮�澶达紝28浣嶅瓧绗︼級
+        else if (username.startsWith("o") && username.length() == 28)
+        {
+            // 寰俊OpenID鐧诲綍
+            log.info("灏濊瘯浣跨敤寰俊OpenID鐧诲綍锛歿}", username);
+            user = userService.selectUserByOpenId(username);
+        }
         // 鍒ゆ柇鏄惁涓烘墜鏈哄彿锛堢畝鍗曞垽鏂細鍏ㄦ槸鏁板瓧涓�11浣嶏級
-        if (username.matches("^1[3-9]\\d{9}$"))
+        else if (username.matches("^1[3-9]\\d{9}$"))
         {
             // 鎵嬫満鍙风櫥褰�
             log.info("灏濊瘯浣跨敤鎵嬫満鍙风櫥褰曪細{}", username);

--
Gitblit v1.9.1