fix 修复 userId 无法获取问题

This commit is contained in:
疯狂的狮子Li 2023-03-07 22:22:24 +08:00
parent d7d398763f
commit d38fa0ec05

View File

@ -1,6 +1,7 @@
package com.ruoyi.common.helper; package com.ruoyi.common.helper;
import cn.dev33.satoken.context.SaHolder; import cn.dev33.satoken.context.SaHolder;
import cn.dev33.satoken.context.model.SaStorage;
import cn.dev33.satoken.stp.SaLoginModel; import cn.dev33.satoken.stp.SaLoginModel;
import cn.dev33.satoken.stp.StpUtil; import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
@ -46,7 +47,9 @@ public class LoginHelper {
* @param loginUser 登录用户信息 * @param loginUser 登录用户信息
*/ */
public static void loginByDevice(LoginUser loginUser, DeviceType deviceType) { public static void loginByDevice(LoginUser loginUser, DeviceType deviceType) {
SaHolder.getStorage().set(LOGIN_USER_KEY, loginUser); SaStorage storage = SaHolder.getStorage();
storage.set(LOGIN_USER_KEY, loginUser);
storage.set(USER_KEY, loginUser.getUserId());
SaLoginModel model = new SaLoginModel(); SaLoginModel model = new SaLoginModel();
if (ObjectUtil.isNotNull(deviceType)) { if (ObjectUtil.isNotNull(deviceType)) {
model.setDevice(deviceType.getDevice()); model.setDevice(deviceType.getDevice());
@ -81,7 +84,11 @@ public class LoginHelper {
public static Long getUserId() { public static Long getUserId() {
Long userId; Long userId;
try { try {
userId = Convert.toLong(StpUtil.getExtra(USER_KEY)); userId = Convert.toLong(SaHolder.getStorage().get(USER_KEY));
if (ObjectUtil.isNull(userId)) {
userId = Convert.toLong(StpUtil.getExtra(USER_KEY).toString());
SaHolder.getStorage().set(USER_KEY, userId);
}
} catch (Exception e) { } catch (Exception e) {
return null; return null;
} }