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 | 21 | |
| 22 | 22 | @Override |
| 23 | 23 | public String execute(String param) throws Exception { |
| 24 | - log.info("[execute][执行任务:{}]", "清除过期用户信息"); | |
| 24 | + log.info("[execute][执行任务:{}]", "移除超时的在线用户"); | |
| 25 | 25 | long timeoutCount = sysUserSessionService.clearSessionTimeout(); |
| 26 | - log.info("[execute][执行任务:{}]", "清楚过期用户信息完成" + timeoutCount); | |
| 26 | + log.info("[execute][执行任务:{}]", "移除超时的在线用户完成" + timeoutCount); | |
| 27 | 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 | 105 | |
| 106 | 106 | @Override |
| 107 | 107 | public long clearSessionTimeout() { |
| 108 | + // 获取db里已经超时的用户列表 | |
| 108 | 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 | 113 | if (loginUserRedisDAO.get(sessionDO.getId()) == null) { |
| 112 | 114 | timeoutCount += userSessionMapper.deleteById(sessionDO.getId()); |
| 113 | 115 | } | ... | ... |