| | |
| | | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import com.ruoyi.common.core.domain.model.LoginUser; |
| | | import com.ruoyi.common.json.utils.JsonUtils; |
| | | import com.ruoyi.common.redis.utils.RedisUtils; |
| | | import com.ruoyi.common.satoken.utils.LoginHelper; |
| | | import com.ruoyi.common.websocket.dto.WebSocketMessageDto; |
| | | import com.ruoyi.common.websocket.holder.WebSocketSessionHolder; |
| | | import lombok.AccessLevel; |
| | |
| | | |
| | | /** |
| | | * 发送消息 |
| | | * @param sessionKey |
| | | * @param message |
| | | * |
| | | * @param sessionKey session主键 一般为用户id |
| | | * @param message 消息文本 |
| | | */ |
| | | public static void sendMessage(Long sessionKey, String message) { |
| | | WebSocketSession session = WebSocketSessionHolder.getSessions(sessionKey); |
| | |
| | | /** |
| | | * 订阅消息 |
| | | * |
| | | * @param consumer |
| | | * @param consumer 自定义处理 |
| | | */ |
| | | public static void subscribeMessage(Consumer<WebSocketMessageDto> consumer) { |
| | | RedisUtils.subscribe(WEB_SOCKET_TOPIC, WebSocketMessageDto.class, consumer); |
| | |
| | | /** |
| | | * 发布订阅的消息 |
| | | * |
| | | * @param webSocketMessage |
| | | * @param webSocketMessage 消息对象 |
| | | */ |
| | | public static void publishMessage(WebSocketMessageDto webSocketMessage) { |
| | | List<Long> unsentSessionKeys = new ArrayList<>(); |