From 252204a760b00b2f2fabc6f06f18cea9c75114fc Mon Sep 17 00:00:00 2001 From: heavyrian2012 Date: Sat, 27 May 2023 10:15:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A5=BD=E5=8F=8B=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E5=8F=AA=E6=A3=80=E6=9F=A5=E5=AF=B9=E6=96=B9=E7=9A=84?= =?UTF-8?q?=E9=BB=91=E5=90=8D=E5=8D=95=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../persistence/MemoryMessagesStore.java | 23 +++++-------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java index f9520787c..4c3e4cee6 100755 --- a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java +++ b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java @@ -3101,27 +3101,16 @@ public ErrorCode saveAddFriendRequest(String userId, WFCMessage.AddFriendRequest } } - MultiMap friendsMap = hzInstance.getMultiMap(USER_FRIENDS); - - FriendData friendData1 = null; - Collection friendDatas = friendsMap.get(userId); - if (friendDatas == null || friendDatas.size() == 0) { - friendDatas = loadFriend(friendsMap, userId); - } - for (FriendData fd : friendDatas) { - if (fd.getFriendUid().equals(request.getTargetUid())) { - friendData1 = fd; - break; - } - } - if (friendData1 != null && friendData1.getBlacked() > 0 && !isAdmin) { - return ErrorCode.ERROR_CODE_IN_BLACK_LIST; - } - + FriendData friendData1 = getFriendData(userId, request.getTargetUid()); if (friendData1 != null && friendData1.getState() == 0) { return ErrorCode.ERROR_CODE_ALREADY_FRIENDS; } + FriendData friendData2 = getFriendData(request.getTargetUid(), userId); + if (friendData2 != null && friendData2.getBlacked() > 0 && !isAdmin) { + return ErrorCode.ERROR_CODE_IN_BLACK_LIST; + } + WFCMessage.FriendRequest newRequest = WFCMessage.FriendRequest .newBuilder() .setFromUid(userId)