From f4cd1787d756e0ff3b04ce51115b8cb1ca5306ec Mon Sep 17 00:00:00 2001 From: chengliejian <284067032@qq.com> Date: Wed, 30 Apr 2025 11:53:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BE=9B=E8=8E=B7=E5=8F=96LoginUser?= =?UTF-8?q?=E5=9F=BA=E4=BA=8EloginId=E5=92=8CdeviceType=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/satoken/utils/LoginHelper.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/utils/LoginHelper.java b/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/utils/LoginHelper.java index 7a2b9fcf6..4ee0cdb51 100644 --- a/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/utils/LoginHelper.java +++ b/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/utils/LoginHelper.java @@ -1,11 +1,13 @@ package org.dromara.common.satoken.utils; import cn.dev33.satoken.session.SaSession; +import cn.dev33.satoken.stp.SaLoginModel; import cn.dev33.satoken.stp.StpUtil; import cn.dev33.satoken.stp.parameter.SaLoginParameter; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import lombok.AccessLevel; import lombok.NoArgsConstructor; import org.dromara.common.core.constant.SystemConstants; @@ -84,6 +86,27 @@ public class LoginHelper { return (T) session.get(LOGIN_USER_KEY); } + /** + * 获取LoginUser基于loginId和deviceType + */ + public static T getLoginUserByLoginIdAndDeviceType(Object loginId,String deviceType) { + String value = StpUtil.getTokenValueByLoginId(loginId,deviceType); + if (StrUtil.isBlank(value)){ + return null; + } + SaSession session = StpUtil.getTokenSessionByToken(value); + if (ObjectUtil.isNull(session)) { + return null; + } + return (T) session.get(LOGIN_USER_KEY); + } + + /** + * 获取LoginUser基于loginId + */ + public static T getLoginUserByLoginId(Object loginId) { + return getLoginUserByLoginIdAndDeviceType(loginId, null); + } /** * 获取用户id */