diff --git a/common/src/main/java/cn/wildfirechat/common/APIPath.java b/common/src/main/java/cn/wildfirechat/common/APIPath.java index 2bd43229..76ae2256 100644 --- a/common/src/main/java/cn/wildfirechat/common/APIPath.java +++ b/common/src/main/java/cn/wildfirechat/common/APIPath.java @@ -47,6 +47,7 @@ public interface APIPath { String Msg_Send = "/admin/message/send"; String Msg_Recall = "/admin/message/recall"; String Msg_Delete = "/admin/message/delete"; + String Msg_Update = "/admin/message/update"; String Msg_Broadcast = "/admin/message/broadcast"; String Msg_Multicast = "/admin/message/multicast"; String Msg_RecallBroadCast = "/admin/message/recall_broadcast"; diff --git a/common/src/main/java/cn/wildfirechat/pojos/UpdateMessageContentData.java b/common/src/main/java/cn/wildfirechat/pojos/UpdateMessageContentData.java new file mode 100644 index 00000000..82fcfbe4 --- /dev/null +++ b/common/src/main/java/cn/wildfirechat/pojos/UpdateMessageContentData.java @@ -0,0 +1,57 @@ +/* + * 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; + +public class UpdateMessageContentData { + private String operator; + private long messageUid; + private MessagePayload payload; + private int distribute; + private int updateTimestamp; + + public String getOperator() { + return operator; + } + + public void setOperator(String operator) { + this.operator = operator; + } + + public long getMessageUid() { + return messageUid; + } + + public void setMessageUid(long messageUid) { + this.messageUid = messageUid; + } + + public MessagePayload getPayload() { + return payload; + } + + public void setPayload(MessagePayload payload) { + this.payload = payload; + } + + public int getDistribute() { + return distribute; + } + + public void setDistribute(int distribute) { + this.distribute = distribute; + } + + public int getUpdateTimestamp() { + return updateTimestamp; + } + + public void setUpdateTimestamp(int updateTimestamp) { + this.updateTimestamp = updateTimestamp; + } +} diff --git a/sdk/src/main/java/cn/wildfirechat/sdk/Main.java b/sdk/src/main/java/cn/wildfirechat/sdk/Main.java index 3b3bb495..d02852d2 100644 --- a/sdk/src/main/java/cn/wildfirechat/sdk/Main.java +++ b/sdk/src/main/java/cn/wildfirechat/sdk/Main.java @@ -664,6 +664,24 @@ public class Main { System.exit(-1); } + payload.setSearchableContent("hello world2"); + resultSendMessage = MessageAdmin.sendMessage("user1", conversation, payload, null); + if (resultSendMessage != null && resultSendMessage.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) { + System.out.println("send message success"); + } else { + System.out.println("send message failure"); + System.exit(-1); + } + + payload.setSearchableContent("hello world3"); + voidIMResult = MessageAdmin.updateMessageContent("user1", resultSendMessage.getResult().getMessageUid(), payload, true); + if (voidIMResult != null && voidIMResult.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) { + System.out.println("update message success"); + } else { + System.out.println("update message failure"); + System.exit(-1); + } + IMResult resultBroadcastMessage = MessageAdmin.broadcastMessage("user1", 0, payload); if (resultBroadcastMessage != null && resultBroadcastMessage.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) { System.out.println("broad message success, send message to " + resultBroadcastMessage.getResult().getCount() + " users"); diff --git a/sdk/src/main/java/cn/wildfirechat/sdk/MessageAdmin.java b/sdk/src/main/java/cn/wildfirechat/sdk/MessageAdmin.java index d7a29bf2..5a5fbdcf 100644 --- a/sdk/src/main/java/cn/wildfirechat/sdk/MessageAdmin.java +++ b/sdk/src/main/java/cn/wildfirechat/sdk/MessageAdmin.java @@ -37,6 +37,17 @@ public class MessageAdmin { return AdminHttpUtils.httpJsonPost(path, deleteMessageData, Void.class); } + public static IMResult updateMessageContent(String operator, long messageUid, MessagePayload payload, boolean distribute) throws Exception { + String path = APIPath.Msg_Update; + UpdateMessageContentData updateMessageContentData = new UpdateMessageContentData(); + updateMessageContentData.setOperator(operator); + updateMessageContentData.setMessageUid(messageUid); + updateMessageContentData.setPayload(payload); + updateMessageContentData.setDistribute(distribute?1:0); + updateMessageContentData.setUpdateTimestamp(0); + return AdminHttpUtils.httpJsonPost(path, updateMessageContentData, Void.class); + } + /**