From 9365807f47ced5765235cda1cdfcb565a7a94983 Mon Sep 17 00:00:00 2001 From: heavyrain lee Date: Fri, 5 Jul 2019 08:19:29 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BE=A4=E7=BB=84=E8=B8=A2=E4=BA=BA=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../loServer/action/admin/KickoffGroupMemberAction.java | 2 +- .../main/java/io/moquette/imhandler/KickoffGroupMember.java | 6 +++--- .../java/io/moquette/persistence/MemoryMessagesStore.java | 6 +++--- broker/src/main/java/io/moquette/spi/IMessagesStore.java | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/KickoffGroupMemberAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/KickoffGroupMemberAction.java index 85a9f7ac..56f4eeeb 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/KickoffGroupMemberAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/KickoffGroupMemberAction.java @@ -42,7 +42,7 @@ public class KickoffGroupMemberAction extends AdminAction { if (request.getNettyRequest() instanceof FullHttpRequest) { InputKickoffGroupMember inputKickoffGroupMember = getRequestBody(request.getNettyRequest(), InputKickoffGroupMember.class); if (inputKickoffGroupMember.isValide()) { - RPCCenter.getInstance().sendRequest(inputKickoffGroupMember.getOperator(), null, IMTopic.AddGroupMemberTopic, inputKickoffGroupMember.toProtoGroupRequest().toByteArray(), inputKickoffGroupMember.getOperator(), TargetEntry.Type.TARGET_TYPE_USER, new RPCCenter.Callback() { + RPCCenter.getInstance().sendRequest(inputKickoffGroupMember.getOperator(), null, IMTopic.KickoffGroupMemberTopic, inputKickoffGroupMember.toProtoGroupRequest().toByteArray(), inputKickoffGroupMember.getOperator(), TargetEntry.Type.TARGET_TYPE_USER, new RPCCenter.Callback() { @Override public void onSuccess(byte[] result) { ByteBuf byteBuf = Unpooled.buffer(); diff --git a/broker/src/main/java/io/moquette/imhandler/KickoffGroupMember.java b/broker/src/main/java/io/moquette/imhandler/KickoffGroupMember.java index fff5a4d7..6e726181 100644 --- a/broker/src/main/java/io/moquette/imhandler/KickoffGroupMember.java +++ b/broker/src/main/java/io/moquette/imhandler/KickoffGroupMember.java @@ -25,8 +25,8 @@ public class KickoffGroupMember extends GroupHandler 0) { @@ -35,7 +35,7 @@ public class KickoffGroupMember extends GroupHandler memberList) { + public ErrorCode kickoffGroupMembers(String operator, boolean isAdmin, String groupId, List memberList) { HazelcastInstance hzInstance = m_Server.getHazelcastInstance(); IMap mIMap = hzInstance.getMap(GROUPS_MAP); @@ -693,8 +693,8 @@ public class MemoryMessagesStore implements IMessagesStore { if (groupInfo == null) { return ErrorCode.ERROR_CODE_NOT_EXIST; } - if ((groupInfo.getType() == ProtoConstants.GroupType.GroupType_Restricted || groupInfo.getType() == ProtoConstants.GroupType.GroupType_Normal) - && (groupInfo.getOwner() == null || !groupInfo.getOwner().equals(operator))) { + if (!isAdmin && ((groupInfo.getType() == ProtoConstants.GroupType.GroupType_Restricted || groupInfo.getType() == ProtoConstants.GroupType.GroupType_Normal) + && (groupInfo.getOwner() == null || !groupInfo.getOwner().equals(operator)))) { return ErrorCode.ERROR_CODE_NOT_RIGHT; } diff --git a/broker/src/main/java/io/moquette/spi/IMessagesStore.java b/broker/src/main/java/io/moquette/spi/IMessagesStore.java index 253743e9..1f597747 100755 --- a/broker/src/main/java/io/moquette/spi/IMessagesStore.java +++ b/broker/src/main/java/io/moquette/spi/IMessagesStore.java @@ -104,7 +104,7 @@ public interface IMessagesStore { long insertUserMessages(String sender, int conversationType, String target, int line, int messageContentType, String userId, long messageId); WFCMessage.GroupInfo createGroup(String operator, WFCMessage.GroupInfo groupInfo, List memberList); ErrorCode addGroupMembers(String operator, boolean isAdmin, String groupId, List memberList); - ErrorCode kickoffGroupMembers(String operator, String groupId, List memberList); + ErrorCode kickoffGroupMembers(String operator, boolean isAdmin, String groupId, List memberList); ErrorCode quitGroup(String operator, String groupId); ErrorCode dismissGroup(String operator, String groupId, boolean isAdmin); ErrorCode modifyGroupInfo(String operator, String groupId, int modifyType, String value);