diff --git a/common/src/main/java/cn/wildfirechat/common/APIPath.java b/common/src/main/java/cn/wildfirechat/common/APIPath.java index 747cc90e..9effaab2 100644 --- a/common/src/main/java/cn/wildfirechat/common/APIPath.java +++ b/common/src/main/java/cn/wildfirechat/common/APIPath.java @@ -44,6 +44,8 @@ public interface APIPath { String Msg_Delete = "/admin/message/delete"; String Msg_Broadcast = "/admin/message/broadcast"; String Msg_Multicast = "/admin/message/multicast"; + String Msg_RecallBroadCast = "/admin/message/recall_broadcast"; + String Msg_RecallMultiCast = "/admin/message/recall_multicast"; String Create_Group = "/admin/group/create"; String Group_Dismiss = "/admin/group/del"; diff --git a/common/src/main/java/cn/wildfirechat/pojos/RecallMultiCastMessageData.java b/common/src/main/java/cn/wildfirechat/pojos/RecallMultiCastMessageData.java new file mode 100644 index 00000000..2a923b15 --- /dev/null +++ b/common/src/main/java/cn/wildfirechat/pojos/RecallMultiCastMessageData.java @@ -0,0 +1,17 @@ +/* + * This file is part of the Wildfire Chat package. + * (c) Heavyrain2012 + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +package cn.wildfirechat.pojos; + +import java.util.List; + +public class RecallMultiCastMessageData { + public String operator; + public long messageUid; + public List receivers; +} diff --git a/sdk/src/main/java/cn/wildfirechat/sdk/Main.java b/sdk/src/main/java/cn/wildfirechat/sdk/Main.java index ae578073..6e3bb7c2 100644 --- a/sdk/src/main/java/cn/wildfirechat/sdk/Main.java +++ b/sdk/src/main/java/cn/wildfirechat/sdk/Main.java @@ -573,6 +573,13 @@ public class Main { System.out.println("broad message failure"); System.exit(-1); } + + voidIMResult = MessageAdmin.recallBroadCastMessage("user1", resultBroadcastMessage.result.getMessageUid()); + if (voidIMResult != null && voidIMResult.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) { + System.out.println("Success"); + } else { + System.out.println("failure"); + } } List multicastReceivers = Arrays.asList("user2", "user3", "user4"); @@ -583,6 +590,13 @@ public class Main { System.out.println("multi message failure"); System.exit(-1); } + + voidIMResult = MessageAdmin.recallMultiCastMessage("user1", resultMulticastMessage.result.getMessageUid(), multicastReceivers); + if (voidIMResult != null && voidIMResult.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) { + System.out.println("Success"); + } else { + System.out.println("failure"); + } } //*********************************************** diff --git a/sdk/src/main/java/cn/wildfirechat/sdk/MessageAdmin.java b/sdk/src/main/java/cn/wildfirechat/sdk/MessageAdmin.java index 5cad0d92..d7a29bf2 100644 --- a/sdk/src/main/java/cn/wildfirechat/sdk/MessageAdmin.java +++ b/sdk/src/main/java/cn/wildfirechat/sdk/MessageAdmin.java @@ -41,19 +41,29 @@ public class MessageAdmin { /** * 撤回群发或者广播的消息 - * @param target 目标用户 + * @param operator 操作者 * @param messageUid 消息唯一ID * @return * @throws Exception */ - public static IMResult recallBroadcastOrMulticastMessage(String target, long messageUid) throws Exception { - String path = APIPath.Msg_Recall; + public static IMResult recallBroadCastMessage(String operator, long messageUid) throws Exception { + String path = APIPath.Msg_RecallBroadCast; RecallMessageData messageData = new RecallMessageData(); - messageData.setOperator(target); + messageData.setOperator(operator); messageData.setMessageUid(messageUid); return AdminHttpUtils.httpJsonPost(path, messageData, Void.class); } + public static IMResult recallMultiCastMessage(String operator, long messageUid, List receivers) throws Exception { + String path = APIPath.Msg_RecallMultiCast; + RecallMultiCastMessageData messageData = new RecallMultiCastMessageData(); + messageData.operator = operator; + messageData.messageUid = messageUid; + messageData.receivers = receivers; + + return AdminHttpUtils.httpJsonPost(path, messageData, Void.class); + } + public static IMResult broadcastMessage(String sender, int line, MessagePayload payload) throws Exception { String path = APIPath.Msg_Broadcast; BroadMessageData messageData = new BroadMessageData();