From 203233fbaf8379623879957684de4d4b499b811a Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期五, 22 十二月 2023 13:23:30 +0800 Subject: [PATCH] !464 发布 5.1.2 版本 2023 最后一版 Merge pull request !464 from 疯狂的狮子Li/dev --- ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java | 17 +++++++++++------ 1 files changed, 11 insertions(+), 6 deletions(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java index 7e07e20..37802b7 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java @@ -3,6 +3,7 @@ import cn.dev33.satoken.exception.NotLoginException; import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -17,6 +18,7 @@ import org.dromara.common.core.exception.user.UserException; import org.dromara.common.core.utils.*; import org.dromara.common.log.event.LogininforEvent; +import org.dromara.common.mybatis.helper.DataPermissionHelper; import org.dromara.common.redis.utils.RedisUtils; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.tenant.exception.TenantException; @@ -77,13 +79,13 @@ bo.setUserName(authUserData.getUsername()); bo.setNickName(authUserData.getNickname()); // 鏌ヨ鏄惁宸茬粡缁戝畾鐢ㄦ埛 - SysSocialVo vo = sysSocialService.selectByAuthId(authId); - if (ObjectUtil.isEmpty(vo)) { + List<SysSocialVo> list = sysSocialService.selectByAuthId(authId); + if (CollUtil.isEmpty(list)) { // 娌℃湁缁戝畾鐢ㄦ埛, 鏂板鐢ㄦ埛淇℃伅 sysSocialService.insertByBo(bo); } else { // 鏇存柊鐢ㄦ埛淇℃伅 - bo.setId(vo.getId()); + bo.setId(list.get(0).getId()); sysSocialService.updateByBo(bo); } } @@ -95,6 +97,9 @@ public void logout() { try { LoginUser loginUser = LoginHelper.getLoginUser(); + if (ObjectUtil.isNull(loginUser)) { + return; + } if (TenantHelper.isEnable() && LoginHelper.isSuperAdmin()) { // 瓒呯骇绠$悊鍛� 鐧诲嚭娓呴櫎鍔ㄦ�佺鎴� TenantHelper.clearDynamic(); @@ -152,13 +157,13 @@ * * @param userId 鐢ㄦ埛ID */ - public void recordLoginInfo(Long userId) { + public void recordLoginInfo(Long userId, String ip) { SysUser sysUser = new SysUser(); sysUser.setUserId(userId); - sysUser.setLoginIp(ServletUtils.getClientIP()); + sysUser.setLoginIp(ip); sysUser.setLoginDate(DateUtils.getNowDate()); sysUser.setUpdateBy(userId); - userMapper.updateById(sysUser); + DataPermissionHelper.ignore(() -> userMapper.updateById(sysUser)); } /** -- Gitblit v1.9.3