From 6f06a499aa0ca0413dfcfc63ea32579a58f5a86d Mon Sep 17 00:00:00 2001 From: heavyrain2012 Date: Fri, 7 Aug 2020 15:16:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=B7=BB=E5=8A=A0=E7=BE=A4?= =?UTF-8?q?=E6=88=90=E5=91=98=E6=97=B6=EF=BC=8C=E8=AE=BE=E7=BD=AE=E6=98=B5?= =?UTF-8?q?=E7=A7=B0=E4=B8=8D=E7=94=9F=E6=95=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/moquette/persistence/MemoryMessagesStore.java | 11 +++++++++-- 1 file changed, 9 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 0db8ca0f..c7b1691c 100755 --- a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java +++ b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java @@ -871,9 +871,16 @@ public class MemoryMessagesStore implements IMessagesStore { ArrayList newInviteUsers = new ArrayList<>(); for (WFCMessage.GroupMember member : memberList) { if (member.getMemberId().equals(groupInfo.getOwner())) { - member = member.toBuilder().setType(GroupMemberType_Owner).setUpdateDt(updateDt).setCreateDt(updateDt).setAlias("").build(); + member = member.toBuilder().setType(GroupMemberType_Owner).setUpdateDt(updateDt).setCreateDt(updateDt).build(); } else { - member = member.toBuilder().setType(GroupMemberType_Normal).setUpdateDt(updateDt).setCreateDt(updateDt).setAlias("").build(); + if (isAdmin) { + if (member.getType() != GroupMemberType_Owner) + member = member.toBuilder().setUpdateDt(updateDt).setCreateDt(updateDt).build(); + else + return ErrorCode.INVALID_PARAMETER; + } else { + member = member.toBuilder().setType(GroupMemberType_Normal).setUpdateDt(updateDt).setCreateDt(updateDt).build(); + } } tmp.add(member); newInviteUsers.add(member.getMemberId());