Commit a9436d29317b484615dad9ce0901a31e7bc94a01

Authored by Lyon
1 parent 492b27cb

移除超时的在线用户 优化一些代码风格,增加test校验

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 }