From 766c2b5c6940fb4373b7b8097b31d2b03aa49ac2 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期一, 10 十一月 2025 21:22:16 +0800
Subject: [PATCH] fix:优化小程序人员加载和后台用户管理中的用户加载
---
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java | 26 +++++++++++++++++++++++++-
1 files changed, 25 insertions(+), 1 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 5dcdf90..4680343 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,7 +37,31 @@
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException
{
- SysUser user = userService.selectUserByUserName(username);
+
+ // 灏濊瘯鍒ゆ柇鏄墜鏈哄彿銆乷penId杩樻槸鐢ㄦ埛鍚�
+ SysUser user = null;
+
+ // 鍒ゆ柇鏄惁涓哄井淇penID锛堥�氬父浠�"o"寮�澶达紝28浣嶅瓧绗︼級
+ if (username.startsWith("o") && username.length() == 28)
+ {
+ // 寰俊OpenID鐧诲綍
+ log.info("灏濊瘯浣跨敤寰俊OpenID鐧诲綍锛歿}", username);
+ user = userService.selectUserByOpenId(username);
+ }
+ // 鍒ゆ柇鏄惁涓烘墜鏈哄彿锛堢畝鍗曞垽鏂細鍏ㄦ槸鏁板瓧涓�11浣嶏級
+ else if (username.matches("^1[3-9]\\d{9}$"))
+ {
+ // 鎵嬫満鍙风櫥褰�
+ log.info("灏濊瘯浣跨敤鎵嬫満鍙风櫥褰曪細{}", username);
+ user = userService.selectUserByPhonenumber(username);
+ }
+ else
+ {
+ // 鐢ㄦ埛鍚嶇櫥褰�
+ log.info("灏濊瘯浣跨敤鐢ㄦ埛鍚嶇櫥褰曪細{}", username);
+ user = userService.selectUserByUserName(username);
+ }
+
if (StringUtils.isNull(user))
{
log.info("鐧诲綍鐢ㄦ埛锛歿} 涓嶅瓨鍦�.", username);
--
Gitblit v1.9.1