Commit 5803258ed7c0b8c4c092557695f29709cc05e195
1 parent
2cb7302d
移除超时的在线用户-完成
Showing
2 changed files
with
6 additions
and
4 deletions
src/main/java/cn/iocoder/dashboard/modules/system/job/auth/SysUserSessionTimeoutJob.java
| @@ -21,9 +21,9 @@ public class SysUserSessionTimeoutJob implements JobHandler { | @@ -21,9 +21,9 @@ public class SysUserSessionTimeoutJob implements JobHandler { | ||
| 21 | 21 | ||
| 22 | @Override | 22 | @Override |
| 23 | public String execute(String param) throws Exception { | 23 | public String execute(String param) throws Exception { |
| 24 | - log.info("[execute][执行任务:{}]", "清除过期用户信息"); | 24 | + log.info("[execute][执行任务:{}]", "移除超时的在线用户"); |
| 25 | long timeoutCount = sysUserSessionService.clearSessionTimeout(); | 25 | long timeoutCount = sysUserSessionService.clearSessionTimeout(); |
| 26 | - log.info("[execute][执行任务:{}]", "清楚过期用户信息完成" + timeoutCount); | 26 | + log.info("[execute][执行任务:{}]", "移除超时的在线用户完成" + timeoutCount); |
| 27 | return null; | 27 | return null; |
| 28 | } | 28 | } |
| 29 | 29 |
src/main/java/cn/iocoder/dashboard/modules/system/service/auth/impl/SysUserSessionServiceImpl.java
| @@ -105,9 +105,11 @@ public class SysUserSessionServiceImpl implements SysUserSessionService { | @@ -105,9 +105,11 @@ public class SysUserSessionServiceImpl implements SysUserSessionService { | ||
| 105 | 105 | ||
| 106 | @Override | 106 | @Override |
| 107 | public long clearSessionTimeout() { | 107 | public long clearSessionTimeout() { |
| 108 | + // 获取db里已经超时的用户列表 | ||
| 108 | Long timeoutCount = 0L; | 109 | Long timeoutCount = 0L; |
| 109 | - List<SysUserSessionDO> sessionDOS = userSessionMapper.selectSessionTimeout(); | ||
| 110 | - for (SysUserSessionDO sessionDO : sessionDOS) { | 110 | + List<SysUserSessionDO> sessionTimeoutDOS = userSessionMapper.selectSessionTimeout(); |
| 111 | + for (SysUserSessionDO sessionDO : sessionTimeoutDOS) { | ||
| 112 | + // 确认已经超时,移出在线用户列表 | ||
| 111 | if (loginUserRedisDAO.get(sessionDO.getId()) == null) { | 113 | if (loginUserRedisDAO.get(sessionDO.getId()) == null) { |
| 112 | timeoutCount += userSessionMapper.deleteById(sessionDO.getId()); | 114 | timeoutCount += userSessionMapper.deleteById(sessionDO.getId()); |
| 113 | } | 115 | } |