From 331c38cc9884b5ddef6b35765e588b776f2eccbf Mon Sep 17 00:00:00 2001 From: "heavyrain.lee" Date: Sat, 25 May 2019 07:55:30 +0800 Subject: [PATCH] update --- .../xiaoleilu/loServer/action/admin/DismissGroupAction.java | 2 +- .../java/io/moquette/imhandler/DismissGroupHandler.java | 6 +++--- .../java/io/moquette/persistence/MemoryMessagesStore.java | 6 +++--- broker/src/main/java/io/moquette/spi/IMessagesStore.java | 2 +- sdk/src/main/java/cn/wildfirechat/sdk/Main.java | 2 ++ 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DismissGroupAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DismissGroupAction.java index 4f8f7e6b..3f4cb48b 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DismissGroupAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DismissGroupAction.java @@ -42,7 +42,7 @@ public class DismissGroupAction extends AdminAction { if (request.getNettyRequest() instanceof FullHttpRequest) { InputDismissGroup inputDismissGroup = getRequestBody(request.getNettyRequest(), InputDismissGroup.class); if (inputDismissGroup.isValide()) { - RPCCenter.getInstance().sendRequest(inputDismissGroup.getOperator(), null, IMTopic.AddGroupMemberTopic, inputDismissGroup.toProtoGroupRequest().toByteArray(), inputDismissGroup.getOperator(), TargetEntry.Type.TARGET_TYPE_USER, new RPCCenter.Callback() { + RPCCenter.getInstance().sendRequest(inputDismissGroup.getOperator(), null, IMTopic.DismissGroupTopic, inputDismissGroup.toProtoGroupRequest().toByteArray(), inputDismissGroup.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/DismissGroupHandler.java b/broker/src/main/java/io/moquette/imhandler/DismissGroupHandler.java index 3433c03c..4560676a 100644 --- a/broker/src/main/java/io/moquette/imhandler/DismissGroupHandler.java +++ b/broker/src/main/java/io/moquette/imhandler/DismissGroupHandler.java @@ -24,9 +24,9 @@ public class DismissGroupHandler extends GroupHandler mIMap = hzInstance.getMap(GROUPS_MAP); @@ -762,9 +762,9 @@ public class MemoryMessagesStore implements IMessagesStore { return ErrorCode.ERROR_CODE_NOT_EXIST; } - if (groupInfo.getType() == ProtoConstants.GroupType.GroupType_Free || + if (!isAdmin && (groupInfo.getType() == ProtoConstants.GroupType.GroupType_Free || (groupInfo.getType() == ProtoConstants.GroupType.GroupType_Restricted || groupInfo.getType() == ProtoConstants.GroupType.GroupType_Normal) - && (groupInfo.getOwner() == null || !groupInfo.getOwner().equals(operator))) { + && (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 1c7c8cd3..50aa372d 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 { ErrorCode addGroupMembers(String operator, String groupId, List memberList); ErrorCode kickoffGroupMembers(String operator, String groupId, List memberList); ErrorCode quitGroup(String operator, String groupId); - ErrorCode dismissGroup(String operator, String groupId); + ErrorCode dismissGroup(String operator, String groupId, boolean isAdmin); ErrorCode modifyGroupInfo(String operator, String groupId, int modifyType, String value); ErrorCode modifyGroupAlias(String operator, String groupId, String alias); List getGroupInfos(List requests); diff --git a/sdk/src/main/java/cn/wildfirechat/sdk/Main.java b/sdk/src/main/java/cn/wildfirechat/sdk/Main.java index 457bdd09..4c5cfda1 100644 --- a/sdk/src/main/java/cn/wildfirechat/sdk/Main.java +++ b/sdk/src/main/java/cn/wildfirechat/sdk/Main.java @@ -130,6 +130,8 @@ public class Main { //*********************************************** //**** 群组相关API //*********************************************** + IMResult voidIMResult1 = GroupAdmin.dismissGroup("user1", "groupId1", null, null); + PojoGroupInfo groupInfo = new PojoGroupInfo(); groupInfo.setTarget_id("groupId1"); groupInfo.setOwner("user1");