diff --git a/sdk/src/main/java/cn/wildfirechat/sdk/ChannelAdmin.java b/sdk/src/main/java/cn/wildfirechat/sdk/ChannelAdmin.java new file mode 100644 index 00000000..151cfbb0 --- /dev/null +++ b/sdk/src/main/java/cn/wildfirechat/sdk/ChannelAdmin.java @@ -0,0 +1,27 @@ +package cn.wildfirechat.sdk; + +import cn.wildfirechat.common.APIPath; +import cn.wildfirechat.pojos.*; +import cn.wildfirechat.sdk.model.IMResult; +import cn.wildfirechat.sdk.utilities.AdminHttpUtils; + +public class ChannelAdmin { + public static IMResult createChannel(InputCreateChatroom input) throws Exception { + String path = APIPath.Create_Chatroom; + return AdminHttpUtils.httpJsonPost(path, input, OutputCreateChatroom.class); + } + + public static IMResult destroyChannel(String chatroomId) throws Exception { + String path = APIPath.Chatroom_Destroy; + InputDestoryChatroom input = new InputDestoryChatroom(); + input.setChatroomId(chatroomId); + return AdminHttpUtils.httpJsonPost(path, input, Void.class); + } + + public static IMResult getChannelInfo(String chatroomId) throws Exception { + String path = APIPath.Chatroom_Info; + InputGetChatroomInfo input = new InputGetChatroomInfo(chatroomId); + return AdminHttpUtils.httpJsonPost(path, input, OutputGetChatroomInfo.class); + } + +} diff --git a/sdk/src/main/java/cn/wildfirechat/sdk/Main.java b/sdk/src/main/java/cn/wildfirechat/sdk/Main.java index d4500573..425b096c 100644 --- a/sdk/src/main/java/cn/wildfirechat/sdk/Main.java +++ b/sdk/src/main/java/cn/wildfirechat/sdk/Main.java @@ -294,7 +294,15 @@ public class Main { System.exit(-1); } - + List multicastReceivers = Arrays.asList("user2", "user3", "user4"); + IMResult resultMulticastMessage = MessageAdmin.multicastMessage("user1", multicastReceivers, 0, payload); + if (resultMulticastMessage != null && resultMulticastMessage.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) { + System.out.println("multi message success, messageid is " + resultMulticastMessage.getResult().getMessageUid()); + } else { + System.out.println("multi message failure"); + System.exit(-1); + } + IMResult resultGetSystemSetting = GeneralAdmin.getSystemSetting(Group_Max_Member_Count); if (resultGetSystemSetting != null && resultGetSystemSetting.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) { System.out.println("success"); diff --git a/sdk/src/main/java/cn/wildfirechat/sdk/MessageAdmin.java b/sdk/src/main/java/cn/wildfirechat/sdk/MessageAdmin.java index 4493ee23..c1d6087e 100644 --- a/sdk/src/main/java/cn/wildfirechat/sdk/MessageAdmin.java +++ b/sdk/src/main/java/cn/wildfirechat/sdk/MessageAdmin.java @@ -5,6 +5,8 @@ import cn.wildfirechat.pojos.*; import cn.wildfirechat.sdk.model.IMResult; import cn.wildfirechat.sdk.utilities.AdminHttpUtils; +import java.util.List; + public class MessageAdmin { public static IMResult sendMessage(String sender, Conversation conversation, MessagePayload payload) throws Exception { String path = APIPath.Msg_Send; @@ -31,4 +33,14 @@ public class MessageAdmin { messageData.setPayload(payload); return AdminHttpUtils.httpJsonPost(path, messageData, BroadMessageResult.class); } + + public static IMResult multicastMessage(String sender, List receivers, int line, MessagePayload payload) throws Exception { + String path = APIPath.Msg_Multicast; + MulticastMessageData messageData = new MulticastMessageData(); + messageData.setSender(sender); + messageData.setTargets(receivers); + messageData.setLine(line); + messageData.setPayload(payload); + return AdminHttpUtils.httpJsonPost(path, messageData, MultiMessageResult.class); + } }