yangys
2024-03-29 e7aaa62a5c499747275a78ed6157024f15b9ab1e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package com.qianwen.core.websocket.distribute;
 
import cn.hutool.core.collection.CollectionUtil;
import java.util.List;
import com.qianwen.core.websocket.config.WebSocketMessageSender;
import com.qianwen.core.websocket.holder.WebSocketSessionHolder;
 
/* loaded from: blade-starter-websocket-9.3.0.0-SNAPSHOT.jar:org/springblade/core/websocket/distribute/MessageSender.class */
public interface MessageSender {
    default void doSend(MessageDO messageDO) {
        Boolean needBroadcast = messageDO.getNeedBroadcast();
        String messageText = messageDO.getMessageText();
        List<Object> sessionKeys = messageDO.getSessionKeys();
        if (needBroadcast != null && needBroadcast.booleanValue()) {
            WebSocketMessageSender.broadcast(messageText);
        } else if (CollectionUtil.isNotEmpty(sessionKeys)) {
            for (Object sessionKey : sessionKeys) {
                WebSocketMessageSender.send(sessionKey, messageText);
            }
        } else if (CollectionUtil.isNotEmpty(messageDO.getSessionIds())) {
            WebSocketSessionHolder.getSessions().stream().filter(session -> {
                return messageDO.getSessionIds().contains(session.getId());
            }).forEach(session2 -> {
                WebSocketMessageSender.send(session2, messageText);
            });
        }
    }
}