From aef125eb50dd2b575917d462acb048614aafa9d4 Mon Sep 17 00:00:00 2001 From: imhao183 Date: Tue, 4 Aug 2020 22:50:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0SDK=E5=AF=B9=E4=B8=93?= =?UTF-8?q?=E4=B8=9A=E7=89=88=E7=BE=A4=E7=BB=84=E7=A6=81=E8=A8=80=E7=99=BD?= =?UTF-8?q?=E5=90=8D=E5=8D=95=E7=9A=84=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/wildfirechat/common/APIPath.java | 1 + .../pojos/GroupNotificationBinaryContent.java | 3 + .../cn/wildfirechat/proto/ProtoConstants.java | 2 + .../java/cn/wildfirechat/sdk/GroupAdmin.java | 16 ++++- .../main/java/cn/wildfirechat/sdk/Main.java | 58 ++++++++++++------- 5 files changed, 58 insertions(+), 22 deletions(-) diff --git a/common/src/main/java/cn/wildfirechat/common/APIPath.java b/common/src/main/java/cn/wildfirechat/common/APIPath.java index a5126153..01e8b113 100644 --- a/common/src/main/java/cn/wildfirechat/common/APIPath.java +++ b/common/src/main/java/cn/wildfirechat/common/APIPath.java @@ -54,6 +54,7 @@ public interface APIPath { String Group_Member_Quit = "/admin/group/member/quit"; String Group_Set_Manager = "/admin/group/manager/set"; String Group_Mute_Member = "/admin/group/manager/mute"; + String Group_Allow_Member = "/admin/group/manager/allow"; String Get_User_Groups = "/admin/group/of_user"; diff --git a/common/src/main/java/cn/wildfirechat/pojos/GroupNotificationBinaryContent.java b/common/src/main/java/cn/wildfirechat/pojos/GroupNotificationBinaryContent.java index 49c1caf4..e2d4d67d 100644 --- a/common/src/main/java/cn/wildfirechat/pojos/GroupNotificationBinaryContent.java +++ b/common/src/main/java/cn/wildfirechat/pojos/GroupNotificationBinaryContent.java @@ -149,4 +149,7 @@ public class GroupNotificationBinaryContent { return getGroupNotifyContent(ProtoConstants.MESSAGE_CONTENT_TYPE_MUTE_MEMBER); } + public WFCMessage.MessageContent getAllowGroupMemberNotifyContent() { + return getGroupNotifyContent(ProtoConstants.MESSAGE_CONTENT_TYPE_ALLOW_MEMBER); + } } diff --git a/common/src/main/java/cn/wildfirechat/proto/ProtoConstants.java b/common/src/main/java/cn/wildfirechat/proto/ProtoConstants.java index d432dad2..86ea8067 100644 --- a/common/src/main/java/cn/wildfirechat/proto/ProtoConstants.java +++ b/common/src/main/java/cn/wildfirechat/proto/ProtoConstants.java @@ -28,6 +28,7 @@ public class ProtoConstants { int GroupMemberType_Owner = 2; int GroupMemberType_Silent = 3; int GroupMemberType_Removed = 4; + int GroupMemberType_Allowed = 5; } //message FriendRequest -> status @@ -182,5 +183,6 @@ public class ProtoConstants { public static final int MESSAGE_CONTENT_TYPE_SET_MANAGER = 117; public static final int MESSAGE_CONTENT_TYPE_MUTE_MEMBER = 118; + public static final int MESSAGE_CONTENT_TYPE_ALLOW_MEMBER = 119; } diff --git a/sdk/src/main/java/cn/wildfirechat/sdk/GroupAdmin.java b/sdk/src/main/java/cn/wildfirechat/sdk/GroupAdmin.java index 5f455f61..aec739b8 100644 --- a/sdk/src/main/java/cn/wildfirechat/sdk/GroupAdmin.java +++ b/sdk/src/main/java/cn/wildfirechat/sdk/GroupAdmin.java @@ -95,12 +95,24 @@ public class GroupAdmin { return AdminHttpUtils.httpJsonPost(path, addGroupMember, Void.class); } - public static IMResult muteGroupMemeber(String operator, String groupId, List groupMemberIds, boolean isManager, List to_lines, MessagePayload notify_message) throws Exception { + public static IMResult muteGroupMemeber(String operator, String groupId, List groupMemberIds, boolean isMute, List to_lines, MessagePayload notify_message) throws Exception { String path = APIPath.Group_Mute_Member; InputMuteGroupMember addGroupMember = new InputMuteGroupMember(); addGroupMember.setGroup_id(groupId); addGroupMember.setMembers(groupMemberIds); - addGroupMember.setIs_manager(isManager); + addGroupMember.setIs_manager(isMute); + addGroupMember.setOperator(operator); + addGroupMember.setTo_lines(to_lines); + addGroupMember.setNotify_message(notify_message); + return AdminHttpUtils.httpJsonPost(path, addGroupMember, Void.class); + } + + public static IMResult allowGroupMemeber(String operator, String groupId, List groupMemberIds, boolean isAllow, List to_lines, MessagePayload notify_message) throws Exception { + String path = APIPath.Group_Allow_Member; + InputMuteGroupMember addGroupMember = new InputMuteGroupMember(); + addGroupMember.setGroup_id(groupId); + addGroupMember.setMembers(groupMemberIds); + addGroupMember.setIs_manager(isAllow); addGroupMember.setOperator(operator); addGroupMember.setTo_lines(to_lines); addGroupMember.setNotify_message(notify_message); diff --git a/sdk/src/main/java/cn/wildfirechat/sdk/Main.java b/sdk/src/main/java/cn/wildfirechat/sdk/Main.java index 1f65f6dc..3ef70059 100644 --- a/sdk/src/main/java/cn/wildfirechat/sdk/Main.java +++ b/sdk/src/main/java/cn/wildfirechat/sdk/Main.java @@ -423,26 +423,6 @@ public class Main { System.exit(-1); } - if (commercialServer) { - voidIMResult = GroupAdmin.muteGroupMemeber("user1", groupInfo.getTarget_id(), Arrays.asList("user4", "user5"), true, null, null); - if (voidIMResult != null && voidIMResult.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) { - System.out.println("mute group member success"); - } else { - System.out.println("mute group member failure"); - System.exit(-1); - } - - voidIMResult = GroupAdmin.muteGroupMemeber("user1", groupInfo.getTarget_id(), Arrays.asList("user4", "user5"), false, null, null); - if (voidIMResult != null && voidIMResult.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) { - System.out.println("unmute group member success"); - } else { - System.out.println("unmute group member failure"); - System.exit(-1); - } - } - - - voidIMResult = GroupAdmin.quitGroup("user4", groupInfo.getTarget_id(), null, null); if (voidIMResult != null && voidIMResult.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) { @@ -465,6 +445,44 @@ public class Main { System.exit(-1); } + + //仅专业版支持 + if (commercialServer) { + //开启群成员禁言 + voidIMResult = GroupAdmin.muteGroupMemeber("user1", groupInfo.getTarget_id(), Arrays.asList("user5"), true, null, null); + if (voidIMResult != null && voidIMResult.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) { + System.out.println("mute group member success"); + } else { + System.out.println("mute group member failure"); + System.exit(-1); + } + //关闭群成员禁言 + voidIMResult = GroupAdmin.muteGroupMemeber("user1", groupInfo.getTarget_id(), Arrays.asList("user5"), false, null, null); + if (voidIMResult != null && voidIMResult.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) { + System.out.println("unmute group member success"); + } else { + System.out.println("unmute group member failure"); + System.exit(-1); + } + + //开启群成员白名单,当群全局禁言时,白名单用户可以发言 + voidIMResult = GroupAdmin.allowGroupMemeber("user1", groupInfo.getTarget_id(), Arrays.asList("user5"), true, null, null); + if (voidIMResult != null && voidIMResult.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) { + System.out.println("allow group member success"); + } else { + System.out.println("allow group member failure"); + System.exit(-1); + } + + //关闭群成员白名单 + voidIMResult = GroupAdmin.allowGroupMemeber("user1", groupInfo.getTarget_id(), Arrays.asList("user5"), false, null, null); + if (voidIMResult != null && voidIMResult.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) { + System.out.println("unallow group member success"); + } else { + System.out.println("unallow group member failure"); + System.exit(-1); + } + } } //***********************************************