From ae4d8a95babf48f7f860f9a3066df1ef4845dbab Mon Sep 17 00:00:00 2001 From: heavyrain2012 Date: Fri, 12 Feb 2021 17:58:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E7=BE=A4=E6=88=90=E5=91=98?= =?UTF-8?q?=E7=8A=B6=E6=80=81=EF=BC=8C=E5=BD=93=E7=BE=A4=E6=88=90=E5=91=98?= =?UTF-8?q?=E4=B8=8D=E5=AD=98=E5=9C=A8=E6=97=B6=EF=BC=8C=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/moquette/persistence/MemoryMessagesStore.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java index cb8f3422..4f096e50 100755 --- a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java +++ b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java @@ -1549,7 +1549,9 @@ public class MemoryMessagesStore implements IMessagesStore { WFCMessage.GroupInfo groupInfo = mIMap.get(groupId); if (groupInfo == null) { - return ErrorCode.ERROR_CODE_NOT_EXIST; + WFCMessage.GroupMember deletedMember = WFCMessage.GroupMember.newBuilder().setMemberId(fromUser).setType(GroupMemberType_Removed).setUpdateDt(System.currentTimeMillis()).build(); + members.add(deletedMember); + return ErrorCode.ERROR_CODE_SUCCESS; } else if (groupInfo.getMemberUpdateDt() <= maxDt) { return ErrorCode.ERROR_CODE_NOT_MODIFIED; } @@ -1581,7 +1583,10 @@ public class MemoryMessagesStore implements IMessagesStore { if (fromUser != null && notInGroup) { members.clear(); if (self != null) { - members.add(self.toBuilder().setUpdateDt(0).setType(GroupMemberType_Removed).build()); + members.add(self); + } else { + WFCMessage.GroupMember deletedMember = WFCMessage.GroupMember.newBuilder().setMemberId(fromUser).setType(GroupMemberType_Removed).setUpdateDt(System.currentTimeMillis()).build(); + members.add(deletedMember); } }