Commit 8d1089bac58712eaca40c8b3b8a595cd874dd75c

Authored by YunaiV
1 parent 3ca5db95

🐛 fix(im): 撤回信号错用 TIP_TEXT,应为 RECALL

yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/message/ImGroupMessageServiceImpl.java
... ... @@ -303,16 +303,16 @@ public class ImGroupMessageServiceImpl implements ImGroupMessageService {
303 303 groupMessageMapper.updateById(new ImGroupMessageDO().setId(messageId)
304 304 .setStatus(ImMessageStatusEnum.RECALL.getStatus()));
305 305  
306   - // 3. 插入一条 TIP_TEXT 消息作为撤回提示
  306 + // 3. 插入一条 RECALL 消息作为撤回信号(content 为 RecallMessage 序列化,前端据此找到原消息更新状态)
307 307 RecallMessage recallContent = new RecallMessage().setMessageId(messageId);
308 308 ImGroupMessageDO recallMessage = new ImGroupMessageDO().setClientMessageId(IdUtil.fastSimpleUUID())
309 309 .setSenderId(userId).setGroupId(message.getGroupId())
310   - .setType(ImMessageTypeEnum.TIP_TEXT.getType()).setContent(JsonUtils.toJsonString(recallContent))
  310 + .setType(ImMessageTypeEnum.RECALL.getType()).setContent(JsonUtils.toJsonString(recallContent))
311 311 .setStatus(ImMessageStatusEnum.UNREAD.getStatus()).setSendTime(LocalDateTime.now())
312 312 .setReceiptStatus(ImGroupMessageReceiptStatusEnum.NO_RECEIPT.getStatus());
313 313 groupMessageMapper.insert(recallMessage);
314 314  
315   - // 4. 异步推送撤回提示消息(前端据此更新原消息状态 + 插入撤回提示)
  315 + // 4. 异步推送撤回信号(前端据此更新原消息状态 + 插入撤回提示)
316 316 sendGroupMessageEvent(recallMessage);
317 317 return recallMessage;
318 318 }
... ...
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/message/ImPrivateMessageServiceImpl.java
... ... @@ -144,19 +144,19 @@ public class ImPrivateMessageServiceImpl implements ImPrivateMessageService {
144 144 privateMessageMapper.updateById(new ImPrivateMessageDO().setId(messageId)
145 145 .setStatus(ImMessageStatusEnum.RECALL.getStatus()));
146 146  
147   - // 3. 插入一条 TIP_TEXT 消息作为撤回提示
  147 + // 3. 插入一条 RECALL 消息作为撤回信号(content 为 RecallMessage 序列化,前端据此找到原消息更新状态)
148 148 RecallMessage recallContent = new RecallMessage().setMessageId(messageId);
149   - ImPrivateMessageDO tipMessage = new ImPrivateMessageDO().setClientMessageId(IdUtil.fastSimpleUUID())
  149 + ImPrivateMessageDO recallMessage = new ImPrivateMessageDO().setClientMessageId(IdUtil.fastSimpleUUID())
150 150 .setSenderId(userId).setReceiverId(message.getReceiverId())
151   - .setType(ImMessageTypeEnum.TIP_TEXT.getType()).setContent(JsonUtils.toJsonString(recallContent))
  151 + .setType(ImMessageTypeEnum.RECALL.getType()).setContent(JsonUtils.toJsonString(recallContent))
152 152 .setStatus(ImMessageStatusEnum.UNREAD.getStatus()).setSendTime(LocalDateTime.now());
153   - privateMessageMapper.insert(tipMessage);
  153 + privateMessageMapper.insert(recallMessage);
154 154  
155   - // 4. 异步推送撤回提示消息(前端据此更新原消息状态 + 插入撤回提示)
156   - ImPrivateMessageDTO websocketMessage = ImPrivateMessageDTO.ofSend(tipMessage);
157   - imWebSocketService.sendPrivateMessageAsync(tipMessage.getReceiverId(), websocketMessage);
158   - imWebSocketService.sendPrivateMessageAsync(tipMessage.getSenderId(), websocketMessage);
159   - return tipMessage;
  155 + // 4. 异步推送撤回信号(前端据此更新原消息状态 + 插入撤回提示)
  156 + ImPrivateMessageDTO websocketMessage = ImPrivateMessageDTO.ofSend(recallMessage);
  157 + imWebSocketService.sendPrivateMessageAsync(recallMessage.getReceiverId(), websocketMessage);
  158 + imWebSocketService.sendPrivateMessageAsync(recallMessage.getSenderId(), websocketMessage);
  159 + return recallMessage;
160 160 }
161 161  
162 162 @Override
... ...