From 9560b9c202975a65b96c7150992fb3d474703fe0 Mon Sep 17 00:00:00 2001 From: "heavyrain.lee" Date: Fri, 12 Apr 2019 14:36:32 +0800 Subject: [PATCH] =?UTF-8?q?1,=20=E4=BF=AE=E6=94=B9=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E8=BF=90=E8=A1=8C=E6=97=B6version=E6=A3=80=E6=9F=A5=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E3=80=822=EF=BC=8C=E4=BF=AE=E6=94=B9=E5=A5=BD?= =?UTF-8?q?=E5=8F=8B=E8=A2=AB=E5=88=A0=E9=99=A4=E5=90=8E=E5=86=8D=E6=AC=A1?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A5=BD=E5=8F=8B=E3=80=823=EF=BC=8C?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=83=A8=E5=88=86=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../loServer/action/VersionAction.java | 2 +- .../persistence/MemoryMessagesStore.java | 3 +- .../moquette/spi/impl/MessagesPublisher.java | 30 +++++++++++-------- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/VersionAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/VersionAction.java index e9e52d15..a6c24303 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/VersionAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/VersionAction.java @@ -41,7 +41,7 @@ public class VersionAction extends Action { response.setContent(new Gson().toJson(GitRepositoryState.getGitRepositoryState())); } catch (IOException e) { e.printStackTrace(); - response.setContent("No version info!"); + response.setContent("{\"version\":\"unknown\"}"); } } } diff --git a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java index 3bceebb0..3deb0469 100755 --- a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java +++ b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java @@ -1481,7 +1481,7 @@ public class MemoryMessagesStore implements IMessagesStore { } if (existRequest != null) { - if (System.currentTimeMillis() - existRequest.getUpdateDt() > 7 * 24 * 60 * 60 * 1000) { + if (existRequest.getStatus() != ProtoConstants.FriendRequestStatus.RequestStatus_Accepted && System.currentTimeMillis() - existRequest.getUpdateDt() > 7 * 24 * 60 * 60 * 1000) { if (existRequest.getStatus() == ProtoConstants.FriendRequestStatus.RequestStatus_Rejected) { return ErrorCode.ERROR_CODE_FRIEND_REQUEST_BLOCKED; } @@ -1761,6 +1761,7 @@ public class MemoryMessagesStore implements IMessagesStore { userSettingMap.put(userId, settingEntry); userGlobalSlientMap.remove(userId); userConvSlientMap.remove(userId); + userPushHiddenDetail.remove(userId); return updateDt; } diff --git a/broker/src/main/java/io/moquette/spi/impl/MessagesPublisher.java b/broker/src/main/java/io/moquette/spi/impl/MessagesPublisher.java index bece73e7..0be55216 100755 --- a/broker/src/main/java/io/moquette/spi/impl/MessagesPublisher.java +++ b/broker/src/main/java/io/moquette/spi/impl/MessagesPublisher.java @@ -227,21 +227,25 @@ public class MessagesPublisher { isSlient = true; } else { isSlient = false; - WFCMessage.Conversation conversation; - if (conversationType == ProtoConstants.ConversationType.ConversationType_Private) { - conversation = WFCMessage.Conversation.newBuilder().setType(conversationType).setLine(line).setTarget(sender).build(); - } else { - conversation = WFCMessage.Conversation.newBuilder().setType(conversationType).setLine(line).setTarget(target).build(); - } - if (m_messagesStore.getUserConversationSlient(user, conversation)) { - LOG.info("The conversation {}-{}-{} is slient", conversation.getType(), conversation.getTarget(), conversation.getLine()); - isSlient = true; - } + if (!user.equals(sender)) { + WFCMessage.Conversation conversation; + if (conversationType == ProtoConstants.ConversationType.ConversationType_Private) { + conversation = WFCMessage.Conversation.newBuilder().setType(conversationType).setLine(line).setTarget(sender).build(); + } else { + conversation = WFCMessage.Conversation.newBuilder().setType(conversationType).setLine(line).setTarget(target).build(); + } - if (m_messagesStore.getUserGlobalSlient(user)) { - LOG.info("The user {} is global sliented", user); - isSlient = true; + + if (m_messagesStore.getUserConversationSlient(user, conversation)) { + LOG.info("The conversation {}-{}-{} is slient", conversation.getType(), conversation.getTarget(), conversation.getLine()); + isSlient = true; + } + + if (m_messagesStore.getUserGlobalSlient(user)) { + LOG.info("The user {} is global sliented", user); + isSlient = true; + } } if (!StringUtil.isNullOrEmpty(pushContent) || messageContentType == 400 || messageContentType == 402) {