机器人api

This commit is contained in:
imhao183
2021-01-16 10:29:03 +08:00
parent 46423a341d
commit a725b507c7
12 changed files with 365 additions and 10 deletions
@@ -14,6 +14,7 @@ import java.util.Arrays;
import java.util.Date;
import java.util.List;
import static cn.wildfirechat.pojos.MyInfoType.Modify_DisplayName;
import static cn.wildfirechat.proto.ProtoConstants.SystemSettingType.Group_Max_Member_Count;
public class Main {
@@ -809,11 +810,67 @@ public class Main {
String robotId = "robot1";
RobotHttpUtils.init("http://localhost", robotId, "123456");
String userId1 = "IrIhIhss";
String userId2 = "IrIhIhss";
//***********************************************
//**** 机器人API
//***********************************************
IMResult<InputOutputUserInfo> userInfoIMResult = RobotService.getProfile(robotId);
if(userInfoIMResult != null && userInfoIMResult.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) {
System.out.println("get profile success");
} else {
System.out.println("get profile failure");
System.exit(-1);
}
String displayName = "testrobot"+System.currentTimeMillis();
IMResult<Void> voidIMResult1 = RobotService.updateProfile(Modify_DisplayName, displayName);
if(voidIMResult1 != null && voidIMResult1.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) {
System.out.println("modify profile success");
} else {
System.out.println("modify profile failure");
System.exit(-1);
}
userInfoIMResult = RobotService.getProfile(robotId);
if(userInfoIMResult != null && userInfoIMResult.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS && displayName.equals(userInfoIMResult.getResult().getDisplayName())) {
System.out.println("get profile success");
} else {
System.out.println("get profile failure");
System.exit(-1);
}
String robotCallback = "http://hellow123";
voidIMResult1 = RobotService.setCallback(robotCallback);
if(voidIMResult1 != null && voidIMResult1.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) {
System.out.println("set callback success");
} else {
System.out.println("set callback failure");
System.exit(-1);
}
IMResult<RobotCallbackPojo> callbackPojoIMResult = RobotService.getCallback();
if(callbackPojoIMResult != null && callbackPojoIMResult.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS && robotCallback.equals(callbackPojoIMResult.getResult().getUrl())) {
System.out.println("get callback success");
} else {
System.out.println("get callback failure");
System.exit(-1);
}
voidIMResult1 = RobotService.deleteCallback();
if(voidIMResult1 != null && voidIMResult1.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) {
System.out.println("delete callback success");
} else {
System.out.println("delete callback failure");
System.exit(-1);
}
callbackPojoIMResult = RobotService.getCallback();
if(callbackPojoIMResult != null && callbackPojoIMResult.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS && StringUtil.isNullOrEmpty(callbackPojoIMResult.getResult().getUrl())) {
System.out.println("get callback success");
} else {
System.out.println("get callback failure");
System.exit(-1);
}
Conversation conversation = new Conversation();
conversation.setTarget("user2");
conversation.setType(ProtoConstants.ConversationType.ConversationType_Private);
@@ -44,10 +44,28 @@ public class RobotService {
}
public static IMResult<RobotCallbackPojo> getCallback() throws Exception {
String path = APIPath.Robot_Set_Callback;
String path = APIPath.Robot_Get_Callback;
return RobotHttpUtils.httpJsonPost(path, null, RobotCallbackPojo.class);
}
public static IMResult<Void> deleteCallback() throws Exception {
String path = APIPath.Robot_Delete_Callback;
return RobotHttpUtils.httpJsonPost(path, null, Void.class);
}
public static IMResult<InputOutputUserInfo> getProfile(String robotId) throws Exception {
return getUserInfo(robotId);
}
/*
type可选范围为MyInfoType,注意不能修改电话号码,如果要修改电话号码请使用adminapi进行修改
*/
public static IMResult<Void> updateProfile(int/*MyInfoType*/ type, String value) throws Exception {
String path = APIPath.Robot_Update_Profile;
IntStringPairPojo pojo = new IntStringPairPojo(type, value);
return RobotHttpUtils.httpJsonPost(path, pojo, Void.class);
}
public static IMResult<OutputCreateGroupResult> createGroup(PojoGroupInfo group_info, List<PojoGroupMember> members, List<Integer> to_lines, MessagePayload notify_message) throws Exception {
String path = APIPath.Robot_Create_Group;
PojoGroup pojoGroup = new PojoGroup();
@@ -3,6 +3,7 @@ package cn.wildfirechat.sdk.utilities;
import cn.wildfirechat.sdk.model.IMResult;
import com.google.gson.Gson;
import ikidou.reflect.TypeBuilder;
import io.netty.util.internal.StringUtil;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
@@ -63,10 +64,12 @@ public class RobotHttpUtils {
}
LOG.info("http request content: {}", jsonStr);
StringEntity entity = new StringEntity(jsonStr, Charset.forName("UTF-8"));
entity.setContentEncoding("UTF-8");
entity.setContentType("application/json");
post.setEntity(entity);
if(!StringUtil.isNullOrEmpty(jsonStr)) {
StringEntity entity = new StringEntity(jsonStr, Charset.forName("UTF-8"));
entity.setContentEncoding("UTF-8");
entity.setContentType("application/json");
post.setEntity(entity);
}
HttpResponse response = httpClient.execute(post);
int statusCode = response.getStatusLine().getStatusCode();