Jelajahi Sumber

增加在线用户异常处理

humuyu 3 tahun lalu
induk
melakukan
902da3a8c4

+ 18 - 13
eladmin-security/src/main/java/me/zhengjie/security/service/OnlineUserService.java

@@ -165,24 +165,29 @@ public class OnlineUserService {
 		List<String> keys = redisUtils.scan(properties.getOnlineKey() + "*");
 		Collections.reverse(keys);
 		List<OnlineUserDto> onlineUserList = new ArrayList<>();
-		for (String key : keys) {
-			OnlineUserDto onlineUserDto = JSON.parseObject((String) redisUtils.get(key), OnlineUserDto.class);
-			if (StringUtils.isNotBlank(filterKeyword)) {
-				if (OnlineUserConstant.SEARCH_USER_WITH_USERNAME.equals(type)) {
-					if (StringUtils.isNotBlank(onlineUserDto.getUsername())
-							&& onlineUserDto.getUsername().equals(filterKeyword)) {
-						onlineUserList.add(onlineUserDto);
+		try {
+			for (String key : keys) {
+				OnlineUserDto onlineUserDto = JSON.parseObject((String) redisUtils.get(key), OnlineUserDto.class);
+				if (StringUtils.isNotBlank(filterKeyword)) {
+					if (OnlineUserConstant.SEARCH_USER_WITH_USERNAME.equals(type)) {
+						if (StringUtils.isNotBlank(onlineUserDto.getUsername())
+								&& onlineUserDto.getUsername().equals(filterKeyword)) {
+							onlineUserList.add(onlineUserDto);
+						}
+					} else {
+						if (onlineUserDto.toString().contains(filterKeyword)) {
+							onlineUserList.add(onlineUserDto);
+						}
 					}
 				} else {
-					if (onlineUserDto.toString().contains(filterKeyword)) {
-						onlineUserList.add(onlineUserDto);
-					}
+					onlineUserList.add(onlineUserDto);
 				}
-			} else {
-				onlineUserList.add(onlineUserDto);
 			}
+			onlineUserList.sort((o1, o2) -> o2.getLoginTime().compareTo(o1.getLoginTime()));
+		} catch (Exception e) {
+			
+			e.printStackTrace();
 		}
-		onlineUserList.sort((o1, o2) -> o2.getLoginTime().compareTo(o1.getLoginTime()));
 		return onlineUserList;
 	}
 

+ 1 - 1
eladmin-system/src/main/java/me/zhengjie/base/websocket/SocketEventListenner.java

@@ -116,7 +116,7 @@ public class SocketEventListenner {
 			if (socketIOClient != null) {
 				Collection<SocketIOClient> collection = socketIOClient.values();
 				for (SocketIOClient ioClient : collection) {
-					log.info("发送出登录:" + pcSname);
+					log.info("发送退出登录:" + pcSname);
 					ioClient.sendEvent("logoutEvent", "close");
 				}
 				for (SocketIOClient ioClient : collection) {