diff --git a/common/src/main/java/cn/wildfirechat/common/APIPath.java b/common/src/main/java/cn/wildfirechat/common/APIPath.java index 413e182a..9c51cba7 100644 --- a/common/src/main/java/cn/wildfirechat/common/APIPath.java +++ b/common/src/main/java/cn/wildfirechat/common/APIPath.java @@ -116,6 +116,8 @@ public interface APIPath { String Robot_User_Info = "/robot/user_info"; String Robot_Get_Profile = "/robot/profile"; String Robot_Message_Send = "/robot/message/send"; + String Robot_Message_Recall = "/robot/message/recall"; + String Robot_Message_Update = "/robot/message/update"; String Robot_Set_Callback = "/robot/set_callback"; String Robot_Get_Callback = "/robot/get_callback"; String Robot_Delete_Callback = "/robot/delete_callback"; diff --git a/sdk/src/main/java/cn/wildfirechat/sdk/Main.java b/sdk/src/main/java/cn/wildfirechat/sdk/Main.java index ebe95f84..5e1e34b0 100644 --- a/sdk/src/main/java/cn/wildfirechat/sdk/Main.java +++ b/sdk/src/main/java/cn/wildfirechat/sdk/Main.java @@ -982,7 +982,7 @@ public class Main { System.exit(-1); } - IMResult userChatroomIMResult = ChatroomAdmin.getUserChatroom("hygqmws2k"); + IMResult userChatroomIMResult = ChatroomAdmin.getUserChatroom("uygqmws2k"); if(userChatroomIMResult != null && (userChatroomIMResult.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS || userChatroomIMResult.getErrorCode() == ErrorCode.ERROR_CODE_NOT_EXIST)) { System.out.println("get user chatroom success"); } else { @@ -1181,7 +1181,7 @@ public class Main { payload.setType(1); payload.setSearchableContent("hello world"); - IMResult resultRobotSendMessage = robotService.sendMessage("robot1", conversation, payload); + IMResult resultRobotSendMessage = robotService.sendMessage(robotService.getRobotId(), conversation, payload); if (resultRobotSendMessage != null && resultRobotSendMessage.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) { System.out.println("robot send message success"); } else { @@ -1189,6 +1189,37 @@ public class Main { System.exit(-1); } + if(commercialServer) { + Thread.sleep(1000); + IMResult recallMessageResult = robotService.recallMessage(resultRobotSendMessage.result.getMessageUid()); + if (recallMessageResult != null && recallMessageResult.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) { + System.out.println("robot recall message success"); + } else { + System.out.println("robot recall message failure"); + System.exit(-1); + } + + payload.setSearchableContent("hello world, hello world"); + resultRobotSendMessage = robotService.sendMessage(robotService.getRobotId(), conversation, payload); + if (resultRobotSendMessage != null && resultRobotSendMessage.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) { + System.out.println("robot send message success"); + } else { + System.out.println("robot send message failure"); + System.exit(-1); + } + + Thread.sleep(1000); + payload.setSearchableContent("hello world, updated message content"); + IMResult updateMessageResult = robotService.updateMessage(resultRobotSendMessage.result.getMessageUid(), payload); + if (updateMessageResult != null && updateMessageResult.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) { + System.out.println("robot update message success"); + } else { + System.out.println("robot update message failure"); + System.exit(-1); + } + } + + IMResult resultRobotGetUserInfo = robotService.getUserInfo("userId1"); if (resultRobotGetUserInfo != null && resultRobotGetUserInfo.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) { System.out.println("robot get user info success"); diff --git a/sdk/src/main/java/cn/wildfirechat/sdk/RobotService.java b/sdk/src/main/java/cn/wildfirechat/sdk/RobotService.java index 69e008e0..3d582fdc 100644 --- a/sdk/src/main/java/cn/wildfirechat/sdk/RobotService.java +++ b/sdk/src/main/java/cn/wildfirechat/sdk/RobotService.java @@ -17,6 +17,10 @@ public class RobotService { robotHttpUtils = new RobotHttpUtils(url, robotId, robotSecret); } + public String getRobotId() { + return robotHttpUtils.getRobotId(); + } + public IMResult sendMessage(String sender, Conversation conversation, MessagePayload payload) throws Exception { String path = APIPath.Robot_Message_Send; SendMessageData messageData = new SendMessageData(); @@ -26,6 +30,23 @@ public class RobotService { return robotHttpUtils.httpJsonPost(path, messageData, SendMessageResult.class); } + public IMResult recallMessage(long messageUid) throws Exception { + String path = APIPath.Robot_Message_Recall; + RecallMessageData messageData = new RecallMessageData(); + messageData.setMessageUid(messageUid); + return robotHttpUtils.httpJsonPost(path, messageData, String.class); + } + + public IMResult updateMessage(long messageUid, MessagePayload payload) throws Exception { + String path = APIPath.Robot_Message_Update; + UpdateMessageContentData updateMessageContentData = new UpdateMessageContentData(); + updateMessageContentData.setMessageUid(messageUid); + updateMessageContentData.setPayload(payload); + updateMessageContentData.setUpdateTimestamp(0); + updateMessageContentData.setDistribute(1); + return robotHttpUtils.httpJsonPost(path, updateMessageContentData, Void.class); + } + public IMResult getUserInfo(String userId) throws Exception { String path = APIPath.Robot_User_Info; InputGetUserInfo getUserInfo = new InputGetUserInfo(userId, null, null);