From 73015c7a176eaa751a0731f69cbb538ca11b6070 Mon Sep 17 00:00:00 2001 From: imhao183 Date: Mon, 30 Dec 2019 15:20:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=BB=91=E5=90=8D=E5=8D=95?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../moquette/persistence/MemoryMessagesStore.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java index 8e06351c..69302033 100755 --- a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java +++ b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java @@ -1659,22 +1659,26 @@ public class MemoryMessagesStore implements IMessagesStore { } @Override - public ErrorCode isAllowUserMessage(String fromUser, String userId) { + public ErrorCode isAllowUserMessage(String targetUser, String fromUser) { HazelcastInstance hzInstance = m_Server.getHazelcastInstance(); MultiMap friendsMap = hzInstance.getMultiMap(USER_FRIENDS); - Collection friendDatas = friendsMap.get(fromUser); + Collection friendDatas = friendsMap.get(targetUser); if (friendDatas == null || friendDatas.size() == 0) { - friendDatas = loadFriend(friendsMap, fromUser); + friendDatas = loadFriend(friendsMap, targetUser); } for (FriendData friendData : friendDatas) { - if (friendData.getFriendUid().equals(userId)) { + if (friendData.getFriendUid().equals(fromUser)) { if (friendData.getBlacked() == 1) { return ErrorCode.ERROR_CODE_IN_BLACK_LIST; } else { - return ErrorCode.ERROR_CODE_SUCCESS; + if (friendData.getState() == 0) { + return ErrorCode.ERROR_CODE_SUCCESS; + } else { + break; + } } } }