Browse Source

代码合并

gao.qiang 2 days ago
parent
commit
70514ba1ce

+ 22 - 20
hazard-admin/src/main/java/com/ozs/web/core/util/InsertUserStateUtil.java

@@ -91,26 +91,28 @@ public class InsertUserStateUtil {
 
             // 处理在线用户
             processUserStates(onlineUsers, userMap, latestUserStateMap, 1, userStateStatisticsService);
-            // 推送信息
-            String data = objStr(offlineUsersAll.size());
-            log.info("准备推送数据: {}, 目标用户数: {}", data, userLists.size());
-            // 先批量检查在线状态,减少重复调用
-            List<String> onlineUserList = userLists.stream()
-                    .filter(webSocketServer::userOnline)
-                    .collect(Collectors.toList());
-
-            log.info("在线用户数: {}", onlineUserList.size());
-
-            // 批量推送
-            onlineUserList.parallelStream().forEach(userId -> {
-                try {
-                    webSocketServer.sendOneMessage(userId, data);
-                    log.info("推送成功 - 用户: {}", userId);
-                } catch (Exception e) {
-                    log.error("推送消息给用户 {} 时发生异常: {}", userId, e.getMessage(), e);
-                }
-            });
-            log.info("推送完成,成功推送数: {}", onlineUserList.size());
+            if (!offlineUsersAll.isEmpty()) {
+                // 推送信息
+                String data = objStr(offlineUsersAll.size());
+                log.info("准备推送数据: {}, 目标用户数: {}", data, userLists.size());
+                // 先批量检查在线状态,减少重复调用
+                List<String> onlineUserList = userLists.stream()
+                        .filter(webSocketServer::userOnline)
+                        .collect(Collectors.toList());
+
+                log.info("在线用户数: {}", onlineUserList.size());
+
+                // 批量推送
+                onlineUserList.parallelStream().forEach(userId -> {
+                    try {
+                        webSocketServer.sendOneMessage(userId, data);
+                        log.info("推送成功 - 用户: {}", userId);
+                    } catch (Exception e) {
+                        log.error("推送消息给用户 {} 时发生异常: {}", userId, e.getMessage(), e);
+                    }
+                });
+                log.info("推送完成,成功推送数: {}", onlineUserList.size());
+            }
         }
     }