Commit a9436d29317b484615dad9ce0901a31e7bc94a01
1 parent
492b27cb
移除超时的在线用户 优化一些代码风格,增加test校验
Showing
3 changed files
with
10 additions
and
12 deletions
src/main/java/cn/iocoder/dashboard/modules/system/job/auth/SysUserSessionTimeoutJob.java
| @@ -21,10 +21,7 @@ public class SysUserSessionTimeoutJob implements JobHandler { | @@ -21,10 +21,7 @@ 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][执行任务:{}]", "移除超时的在线用户"); | ||
| 25 | - long timeoutCount = sysUserSessionService.clearSessionTimeout(); | ||
| 26 | - log.info("[execute][执行任务:{}:{}]", "移除超时的在线用户完成", timeoutCount); | ||
| 27 | - return null; | 24 | + return String.valueOf(sysUserSessionService.clearSessionTimeout()); |
| 28 | } | 25 | } |
| 29 | 26 | ||
| 30 | } | 27 | } |
src/main/java/cn/iocoder/dashboard/modules/system/service/auth/SysUserSessionService.java
| @@ -64,8 +64,6 @@ public interface SysUserSessionService { | @@ -64,8 +64,6 @@ public interface SysUserSessionService { | ||
| 64 | * 移除超时的在线用户 | 64 | * 移除超时的在线用户 |
| 65 | * | 65 | * |
| 66 | * @return {@link Long } 移出的超时用户数量 | 66 | * @return {@link Long } 移出的超时用户数量 |
| 67 | - * @author Lyon | ||
| 68 | - * @date 2021/3/7 | ||
| 69 | **/ | 67 | **/ |
| 70 | long clearSessionTimeout(); | 68 | long clearSessionTimeout(); |
| 71 | } | 69 | } |
src/test/java/cn/iocoder/dashboard/modules/system/service/auth/SysUserSessionServiceImplTest.java
| @@ -11,6 +11,7 @@ import cn.iocoder.dashboard.modules.system.service.auth.impl.SysUserSessionServi | @@ -11,6 +11,7 @@ import cn.iocoder.dashboard.modules.system.service.auth.impl.SysUserSessionServi | ||
| 11 | import cn.iocoder.dashboard.modules.system.service.dept.impl.SysDeptServiceImpl; | 11 | import cn.iocoder.dashboard.modules.system.service.dept.impl.SysDeptServiceImpl; |
| 12 | import cn.iocoder.dashboard.modules.system.service.logger.impl.SysLoginLogServiceImpl; | 12 | import cn.iocoder.dashboard.modules.system.service.logger.impl.SysLoginLogServiceImpl; |
| 13 | import cn.iocoder.dashboard.modules.system.service.user.SysUserServiceImpl; | 13 | import cn.iocoder.dashboard.modules.system.service.user.SysUserServiceImpl; |
| 14 | +import cn.iocoder.dashboard.util.AssertUtils; | ||
| 14 | import cn.iocoder.dashboard.util.RandomUtils; | 15 | import cn.iocoder.dashboard.util.RandomUtils; |
| 15 | import org.junit.jupiter.api.Test; | 16 | import org.junit.jupiter.api.Test; |
| 16 | import org.springframework.boot.test.mock.mockito.MockBean; | 17 | import org.springframework.boot.test.mock.mockito.MockBean; |
| @@ -31,9 +32,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; | @@ -31,9 +32,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; | ||
| 31 | * @version 1.0 | 32 | * @version 1.0 |
| 32 | * @since <pre>3月 8, 2021</pre> | 33 | * @since <pre>3月 8, 2021</pre> |
| 33 | */ | 34 | */ |
| 34 | -@Import({ | ||
| 35 | - SysUserSessionServiceImpl.class | ||
| 36 | -}) | 35 | +@Import( |
| 36 | + SysUserSessionServiceImpl.class) | ||
| 37 | public class SysUserSessionServiceImplTest extends BaseDbAndRedisUnitTest { | 37 | public class SysUserSessionServiceImplTest extends BaseDbAndRedisUnitTest { |
| 38 | 38 | ||
| 39 | @Resource | 39 | @Resource |
| @@ -62,14 +62,17 @@ public class SysUserSessionServiceImplTest extends BaseDbAndRedisUnitTest { | @@ -62,14 +62,17 @@ public class SysUserSessionServiceImplTest extends BaseDbAndRedisUnitTest { | ||
| 62 | .limit(expectedTimeoutCount) | 62 | .limit(expectedTimeoutCount) |
| 63 | .map(i -> RandomUtils.randomPojo(SysUserSessionDO.class, o -> o.setSessionTimeout(DateUtil.offsetSecond(new Date(), -1)))) | 63 | .map(i -> RandomUtils.randomPojo(SysUserSessionDO.class, o -> o.setSessionTimeout(DateUtil.offsetSecond(new Date(), -1)))) |
| 64 | .collect(Collectors.toList()); | 64 | .collect(Collectors.toList()); |
| 65 | - prepareData.add(RandomUtils.randomPojo(SysUserSessionDO.class, o -> o.setSessionTimeout(DateUtil.offsetMinute(new Date(), 30)))); | 65 | + SysUserSessionDO sessionDO = RandomUtils.randomPojo(SysUserSessionDO.class, o -> o.setSessionTimeout(DateUtil.offsetMinute(new Date(), 30))); |
| 66 | + prepareData.add(sessionDO); | ||
| 66 | prepareData.forEach(sysUserSessionMapper::insert); | 67 | prepareData.forEach(sysUserSessionMapper::insert); |
| 67 | 68 | ||
| 68 | //清空超时数据 | 69 | //清空超时数据 |
| 69 | long actualTimeoutCount = sysUserSessionService.clearSessionTimeout(); | 70 | long actualTimeoutCount = sysUserSessionService.clearSessionTimeout(); |
| 71 | + //校验 | ||
| 70 | assertEquals(expectedTimeoutCount, actualTimeoutCount); | 72 | assertEquals(expectedTimeoutCount, actualTimeoutCount); |
| 71 | - Integer actualTotal = sysUserSessionMapper.selectCount(new QueryWrapperX<>()); | ||
| 72 | - assertEquals(expectedTotal, actualTotal); | 73 | + List<SysUserSessionDO> userSessionDOS = sysUserSessionMapper.selectList(); |
| 74 | + assertEquals(expectedTotal, userSessionDOS.size()); | ||
| 75 | + AssertUtils.assertPojoEquals(sessionDO, userSessionDOS.get(0), "updateTime"); | ||
| 73 | } | 76 | } |
| 74 | 77 | ||
| 75 | } | 78 | } |