Commit 8d1089bac58712eaca40c8b3b8a595cd874dd75c
1 parent
3ca5db95
🐛 fix(im): 撤回信号错用 TIP_TEXT,应为 RECALL
Showing
2 changed files
with
12 additions
and
12 deletions
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,16 +303,16 @@ public class ImGroupMessageServiceImpl implements ImGroupMessageService { | ||
| 303 | groupMessageMapper.updateById(new ImGroupMessageDO().setId(messageId) | 303 | groupMessageMapper.updateById(new ImGroupMessageDO().setId(messageId) |
| 304 | .setStatus(ImMessageStatusEnum.RECALL.getStatus())); | 304 | .setStatus(ImMessageStatusEnum.RECALL.getStatus())); |
| 305 | 305 | ||
| 306 | - // 3. 插入一条 TIP_TEXT 消息作为撤回提示 | 306 | + // 3. 插入一条 RECALL 消息作为撤回信号(content 为 RecallMessage 序列化,前端据此找到原消息更新状态) |
| 307 | RecallMessage recallContent = new RecallMessage().setMessageId(messageId); | 307 | RecallMessage recallContent = new RecallMessage().setMessageId(messageId); |
| 308 | ImGroupMessageDO recallMessage = new ImGroupMessageDO().setClientMessageId(IdUtil.fastSimpleUUID()) | 308 | ImGroupMessageDO recallMessage = new ImGroupMessageDO().setClientMessageId(IdUtil.fastSimpleUUID()) |
| 309 | .setSenderId(userId).setGroupId(message.getGroupId()) | 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 | .setStatus(ImMessageStatusEnum.UNREAD.getStatus()).setSendTime(LocalDateTime.now()) | 311 | .setStatus(ImMessageStatusEnum.UNREAD.getStatus()).setSendTime(LocalDateTime.now()) |
| 312 | .setReceiptStatus(ImGroupMessageReceiptStatusEnum.NO_RECEIPT.getStatus()); | 312 | .setReceiptStatus(ImGroupMessageReceiptStatusEnum.NO_RECEIPT.getStatus()); |
| 313 | groupMessageMapper.insert(recallMessage); | 313 | groupMessageMapper.insert(recallMessage); |
| 314 | 314 | ||
| 315 | - // 4. 异步推送撤回提示消息(前端据此更新原消息状态 + 插入撤回提示) | 315 | + // 4. 异步推送撤回信号(前端据此更新原消息状态 + 插入撤回提示) |
| 316 | sendGroupMessageEvent(recallMessage); | 316 | sendGroupMessageEvent(recallMessage); |
| 317 | return recallMessage; | 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,19 +144,19 @@ public class ImPrivateMessageServiceImpl implements ImPrivateMessageService { | ||
| 144 | privateMessageMapper.updateById(new ImPrivateMessageDO().setId(messageId) | 144 | privateMessageMapper.updateById(new ImPrivateMessageDO().setId(messageId) |
| 145 | .setStatus(ImMessageStatusEnum.RECALL.getStatus())); | 145 | .setStatus(ImMessageStatusEnum.RECALL.getStatus())); |
| 146 | 146 | ||
| 147 | - // 3. 插入一条 TIP_TEXT 消息作为撤回提示 | 147 | + // 3. 插入一条 RECALL 消息作为撤回信号(content 为 RecallMessage 序列化,前端据此找到原消息更新状态) |
| 148 | RecallMessage recallContent = new RecallMessage().setMessageId(messageId); | 148 | RecallMessage recallContent = new RecallMessage().setMessageId(messageId); |
| 149 | - ImPrivateMessageDO tipMessage = new ImPrivateMessageDO().setClientMessageId(IdUtil.fastSimpleUUID()) | 149 | + ImPrivateMessageDO recallMessage = new ImPrivateMessageDO().setClientMessageId(IdUtil.fastSimpleUUID()) |
| 150 | .setSenderId(userId).setReceiverId(message.getReceiverId()) | 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 | .setStatus(ImMessageStatusEnum.UNREAD.getStatus()).setSendTime(LocalDateTime.now()); | 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 | @Override | 162 | @Override |