From cabe2818d8c4a5b64367b2356a01784553624da5 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 18 三月 2024 18:29:01 +0800
Subject: [PATCH] git ch

---
 server/service/src/main/java/com/doumee/core/model/LoginUserInfo.java                   |    1 +
 server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java |    8 +++++---
 server/service/src/main/java/com/doumee/config/shiro/ShiroCredentialsMatcher.java       |   14 ++++++++++----
 3 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/config/shiro/ShiroCredentialsMatcher.java b/server/service/src/main/java/com/doumee/config/shiro/ShiroCredentialsMatcher.java
index cde2c50..24ef699 100644
--- a/server/service/src/main/java/com/doumee/config/shiro/ShiroCredentialsMatcher.java
+++ b/server/service/src/main/java/com/doumee/config/shiro/ShiroCredentialsMatcher.java
@@ -26,15 +26,21 @@
     public boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info) {
         ShiroToken usernamePasswordToken = (ShiroToken) token;
         SystemUser queryUserDto = new SystemUser();
-        queryUserDto.setUsername(usernamePasswordToken.getUsername());
         queryUserDto.setDeleted(Boolean.FALSE);
+        if(!usernamePasswordToken.isNeedPassword()){
+            queryUserDto.setMobile(usernamePasswordToken.getUsername());
+            SystemUser systemUser = systemUserService.findOne(queryUserDto);
+            if (systemUser == null) {
+                return Boolean.FALSE;
+            }
+            return Boolean.TRUE;
+        }
+        queryUserDto.setUsername(usernamePasswordToken.getUsername());
         SystemUser systemUser = systemUserService.findOne(queryUserDto);
         if (systemUser == null) {
             return Boolean.FALSE;
         }
-        if(!usernamePasswordToken.isNeedPassword()){
-            return Boolean.TRUE;
-        }
+
         // 鍔犲瘑瀵嗙爜
         String pwd = Utils.Secure.encryptPassword(new String(usernamePasswordToken.getPassword()), systemUser.getSalt());
         // 姣旇緝瀵嗙爜
diff --git a/server/service/src/main/java/com/doumee/core/model/LoginUserInfo.java b/server/service/src/main/java/com/doumee/core/model/LoginUserInfo.java
index 4b4ec6f..e487c3a 100644
--- a/server/service/src/main/java/com/doumee/core/model/LoginUserInfo.java
+++ b/server/service/src/main/java/com/doumee/core/model/LoginUserInfo.java
@@ -34,6 +34,7 @@
     private String sex;
     private String mobile;
 
+    private String openid;
     private Integer companyId;
     private Integer areaId;
     private Integer cityId;
diff --git a/server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
index b655567..822a624 100644
--- a/server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
@@ -90,9 +90,11 @@
     @Override
     public void cleaOpenid(){
         LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-        systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda()
-                .set(SystemUser::getOpenid,null)
-                .eq(SystemUser::getId,loginUserInfo.getId()));
+        if(StringUtils.isNotBlank(loginUserInfo.getOpenid())){
+            systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda()
+                    .set(SystemUser::getOpenid,null)
+                    .eq(SystemUser::getId,loginUserInfo.getId()));
+        }
     }
 
 

--
Gitblit v1.9.3