From 9d11741aa5b202deecb00232c35191c7e778e7dc Mon Sep 17 00:00:00 2001 From: YunaiV Date: Tue, 5 May 2026 00:39:44 +0800 Subject: [PATCH] ✨ feat(im): 优化好友重新添加逻辑,增强用户体验 --- yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/friend/ImFriendServiceImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/friend/ImFriendServiceImpl.java b/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/friend/ImFriendServiceImpl.java index afebbf3..69d2bdf 100644 --- a/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/friend/ImFriendServiceImpl.java +++ b/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/friend/ImFriendServiceImpl.java @@ -155,10 +155,12 @@ public class ImFriendServiceImpl implements ImFriendService { @Transactional(rollbackFor = Exception.class) public void silentReAddFriend(Long userId, Long friendUserId, String displayName, Integer addSource) { // 1. 单边重新启用我侧好友关系 - // 不推 TIP 系统消息:sendPrivateMessage 是 (sender, receiver) 单条入库 + 双向可见,无法仅 userId 单边可见;对方不应感知 silent 重启,TIP 整体省略 addFriend0(userId, friendUserId, displayName, addSource); - // 2. 仅推 FRIEND_ADD 给 userId 多端(不通知对方,保持「对方一直把我当好友」的错觉) + // 2. 推 TIP「你们已成为好友」走单边语义(persistent=false):不入库 + 仅推 userId 多端,对方完全不感知 + privateMessageService.sendTipPrivateMessage(userId, friendUserId, FRIEND_ADD_TIP_MESSAGE, false); + + // 3. 仅推 FRIEND_ADD 给 userId 多端(不通知对方,保持「对方一直把我当好友」的错觉) // operatorUserId 填 friendUserId(对方):让 userId 多端 UI 呈现「对方加了我」的视觉效果,与 silent 语义对齐 FriendAddNotification payload = (FriendAddNotification) new FriendAddNotification() .setOperatorUserId(friendUserId).setFriendUserId(friendUserId); -- libgit2 0.21.4