From 261d9f8ebc1c297fa170d46fe75c349f961fca4e Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期二, 28 十二月 2021 10:38:25 +0800
Subject: [PATCH] update 合并 dev 处理差异

---
 ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java
index f407774..95837fe 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java
@@ -1,5 +1,6 @@
 package com.ruoyi.framework.listener;
 
+import cn.dev33.satoken.config.SaTokenConfig;
 import cn.dev33.satoken.listener.SaTokenListener;
 import cn.dev33.satoken.stp.SaLoginModel;
 import cn.dev33.satoken.stp.StpUtil;
@@ -8,11 +9,19 @@
 import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.core.domain.dto.UserOnlineDTO;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.service.UserService;
 import com.ruoyi.common.enums.UserType;
-import com.ruoyi.common.utils.*;
+import com.ruoyi.common.utils.LoginUtils;
+import com.ruoyi.common.utils.RedisUtils;
+import com.ruoyi.common.utils.ServletUtils;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.ip.AddressUtils;
+import com.ruoyi.common.utils.spring.SpringUtils;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+
+import java.util.concurrent.TimeUnit;
 
 /**
  * 鐢ㄦ埛琛屼负 渚﹀惉鍣ㄧ殑瀹炵幇
@@ -20,6 +29,9 @@
 @Component
 @Slf4j
 public class UserActionListener implements SaTokenListener {
+
+    @Autowired
+    private SaTokenConfig saTokenConfig;
 
     /**
      * 姣忔鐧诲綍鏃惰Е鍙�
@@ -30,7 +42,7 @@
         if (userType == UserType.SYS_USER) {
             UserAgent userAgent = UserAgentUtil.parse(ServletUtils.getRequest().getHeader("User-Agent"));
             String ip = ServletUtils.getClientIP();
-            SysUser user = SecurityUtils.getUser();
+            SysUser user = SpringUtils.getBean(UserService.class).selectUserById(LoginUtils.getUserId());
             String tokenValue = StpUtil.getTokenValue();
             UserOnlineDTO userOnlineDTO = new UserOnlineDTO()
                     .setIpaddr(ip)
@@ -43,7 +55,7 @@
             if (StringUtils.isNotNull(user.getDept())) {
                 userOnlineDTO.setDeptName(user.getDept().getDeptName());
             }
-            RedisUtils.setCacheObject(Constants.ONLINE_TOKEN_KEY + tokenValue, userOnlineDTO);
+            RedisUtils.setCacheObject(Constants.ONLINE_TOKEN_KEY + tokenValue, userOnlineDTO, saTokenConfig.getTimeout(), TimeUnit.SECONDS);
             log.info("user doLogin, useId:{}, token:{}", loginId, tokenValue);
         } else if (userType == UserType.APP_USER) {
             // app绔� 鑷鏍规嵁涓氬姟缂栧啓

--
Gitblit v1.9.3