会议问题修复
This commit is contained in:
@@ -67,6 +67,21 @@ public class ChatMessageListener implements MessageListener {
|
||||
// 转发到聊天室列表订阅者,前端刷新列表状态
|
||||
messagingTemplate.convertAndSend("/topic/chat/list-update", chatMessage);
|
||||
logger.debug("列表更新已转发到STOMP: /topic/chat/list-update");
|
||||
|
||||
// 同时转发到对应聊天室频道,确保聊天窗口也能收到消息
|
||||
String roomId = chatMessage.getRoomId();
|
||||
if (roomId != null && !roomId.isEmpty()) {
|
||||
// 查询完整的VO数据
|
||||
ChatRoomMessageVO messageVO = chatMessageMapper.selectChatMessageVOById(chatMessage.getMessageId());
|
||||
if (messageVO != null) {
|
||||
messagingTemplate.convertAndSend("/topic/chat/" + roomId, messageVO);
|
||||
logger.debug("列表更新消息同时转发到聊天室: /topic/chat/{}", roomId);
|
||||
} else {
|
||||
// 如果查不到VO(可能事务未提交),直接用DTO转发
|
||||
logger.warn("未找到消息VO,使用DTO转发: messageId={}", chatMessage.getMessageId());
|
||||
messagingTemplate.convertAndSend("/topic/chat/" + roomId, chatMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("处理Redis消息失败", e);
|
||||
|
||||
Reference in New Issue
Block a user