Unverified Commit 6ef2496d authored by 怡蘅's avatar 怡蘅 Committed by GitHub

feat: implement profile api (#10)

parent 348c411c
package com.qcloud.im.core; package com.qcloud.im.core;
import com.qcloud.im.IMClient; import com.qcloud.im.IMClient;
import com.qcloud.im.model.request.PortraitGetRequest;
import com.qcloud.im.model.request.PortraitSetRequest; import com.qcloud.im.model.request.PortraitSetRequest;
import com.qcloud.im.model.response.PortraitGetResult;
import com.qcloud.im.model.response.PortraitSetResult; import com.qcloud.im.model.response.PortraitSetResult;
import com.qcloud.im.util.HttpUtil; import com.qcloud.im.util.HttpUtil;
import com.qcloud.im.util.JsonUtil; import com.qcloud.im.util.JsonUtil;
...@@ -15,6 +17,7 @@ import java.io.IOException; ...@@ -15,6 +17,7 @@ import java.io.IOException;
public class Profile { public class Profile {
private static final String SERVICE_NAME = "profile"; private static final String SERVICE_NAME = "profile";
private static final String PORTRAIT_SET_COMMAND = "portrait_set"; private static final String PORTRAIT_SET_COMMAND = "portrait_set";
private static final String PORTRAIT_GET_COMMAND = "portrait_get";
private final IMClient imClient; private final IMClient imClient;
...@@ -24,6 +27,12 @@ public class Profile { ...@@ -24,6 +27,12 @@ public class Profile {
return JsonUtil.str2Obj(result, PortraitSetResult.class); return JsonUtil.str2Obj(result, PortraitSetResult.class);
} }
public PortraitGetResult portraitGet(PortraitGetRequest portraitGetRequest) throws IOException {
String url = imClient.getUrl(SERVICE_NAME, PORTRAIT_GET_COMMAND);
String result = HttpUtil.post(url, JsonUtil.obj2Str(portraitGetRequest), null);
return JsonUtil.str2Obj(result, PortraitGetResult.class);
}
public Profile(IMClient imClient) { public Profile(IMClient imClient) {
this.imClient = imClient; this.imClient = imClient;
} }
......
package com.qcloud.im.model.request;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
/**
* @author hyh
* @since 2021/07/31 10:39
*/
public class PortraitGetRequest extends GenericRequest {
@JsonProperty("To_Account")
private List<String> toAccount;
@JsonProperty("TagList")
private List<String> tagList;
public PortraitGetRequest() {
}
public PortraitGetRequest(List<String> toAccount, List<String> tagList) {
this.toAccount = toAccount;
this.tagList = tagList;
}
public List<String> getToAccount() {
return toAccount;
}
public void setToAccount(List<String> toAccount) {
this.toAccount = toAccount;
}
public List<String> getTagList() {
return tagList;
}
public void setTagList(List<String> tagList) {
this.tagList = tagList;
}
}
...@@ -41,4 +41,13 @@ public class PortraitGetResult extends GenericResult { ...@@ -41,4 +41,13 @@ public class PortraitGetResult extends GenericResult {
public void setFailAccount(List<String> failAccount) { public void setFailAccount(List<String> failAccount) {
this.failAccount = failAccount; this.failAccount = failAccount;
} }
@Override
public String toString() {
return "PortraitGetResult{" +
"errorDisplay='" + errorDisplay + '\'' +
", userProfileItemList=" + userProfileItemList +
", failAccount=" + failAccount +
'}';
}
} }
...@@ -17,4 +17,11 @@ public class PortraitSetResult extends GenericResult{ ...@@ -17,4 +17,11 @@ public class PortraitSetResult extends GenericResult{
public void setErrorDisplay(String errorDisplay) { public void setErrorDisplay(String errorDisplay) {
this.errorDisplay = errorDisplay; this.errorDisplay = errorDisplay;
} }
@Override
public String toString() {
return "PortraitSetResult{" +
"errorDisplay='" + errorDisplay + '\'' +
'}';
}
} }
...@@ -53,4 +53,14 @@ public class UserProfileItem { ...@@ -53,4 +53,14 @@ public class UserProfileItem {
public void setResultInfo(String resultInfo) { public void setResultInfo(String resultInfo) {
this.resultInfo = resultInfo; this.resultInfo = resultInfo;
} }
@Override
public String toString() {
return "UserProfileItem{" +
"toAccount='" + toAccount + '\'' +
", profileItemList=" + profileItemList +
", resultCode=" + resultCode +
", resultInfo='" + resultInfo + '\'' +
'}';
}
} }
package com.qcloud.im;
import com.qcloud.im.model.request.PortraitGetRequest;
import com.qcloud.im.model.request.PortraitSetRequest;
import com.qcloud.im.model.request.ProfileItem;
import com.qcloud.im.model.response.PortraitGetResult;
import com.qcloud.im.model.response.PortraitSetResult;
import org.junit.Assert;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
/**
* @author hyh
* @since 2021/07/31 10:54
*/
public class ProfileTest {
private static final Properties properties = new Properties();
private static final IMClient client;
static {
InputStream resourceAsStream = AccountTest.class.getClassLoader().getResourceAsStream("app.properties");
try {
properties.load(resourceAsStream);
} catch (IOException e) {
e.printStackTrace();
}
String key = properties.getProperty("key");
String identifier = properties.getProperty("identifier");
Long appId = Long.parseLong(properties.getProperty("appId"));
client = IMClient.getInstance(appId, identifier, key);
}
@Test
public void testPortraitSet() throws IOException {
ProfileItem profileItem = new ProfileItem("Tag_Profile_IM_Nick", "MyNickName");
List<ProfileItem> profileItemList = new ArrayList<>();
profileItemList.add(profileItem);
PortraitSetRequest request = new PortraitSetRequest("test1", profileItemList);
PortraitSetResult result = client.profile.portraitSet(request);
System.out.println(result);
Assert.assertEquals("OK", result.getActionStatus());
}
@Test
public void testPortraitGet() throws IOException {
List<String> toAccount = new ArrayList<>();
toAccount.add("test1");
List<String> tagList = new ArrayList<>();
tagList.add("Tag_Profile_IM_Nick");
PortraitGetRequest request = new PortraitGetRequest(toAccount, tagList);
PortraitGetResult result = client.profile.portraitGet(request);
System.out.println(result);
Assert.assertEquals("OK", result.getActionStatus());
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment