sdk添加对设置会话置顶的功能

This commit is contained in:
imhao183
2021-01-14 10:28:17 +08:00
parent 38595c06d8
commit 5dbfeaabf9
3 changed files with 99 additions and 1 deletions
@@ -28,7 +28,8 @@ public interface APIPath {
String User_Get_Blocked_List = "/admin/user/get_blocked_list";
String User_Check_Block_Status = "/admin/user/check_block_status";
String User_Get_Online_Status = "/admin/user/onlinestatus";
String User_Put_Setting = "/admin/user/put_setting";
String User_Get_Setting = "/admin/user/get_setting";
String Friend_Update_Status = "/admin/friend/status";
String Friend_Get_List = "/admin/friend/list";
@@ -0,0 +1,61 @@
/*
* This file is part of the Wildfire Chat package.
* (c) Heavyrain2012 <[email protected]>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
package cn.wildfirechat.pojos;
import cn.wildfirechat.proto.WFCMessage;
import io.netty.util.internal.StringUtil;
public class UserSettingPojo {
private String userId;
private int scope;
private String key;
private String value;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public int getScope() {
return scope;
}
public void setScope(int scope) {
this.scope = scope;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public WFCMessage.ModifyUserSettingReq toProtoRequest() {
WFCMessage.ModifyUserSettingReq.Builder builder = WFCMessage.ModifyUserSettingReq.newBuilder();
builder.setScope(scope);
if (!StringUtil.isNullOrEmpty(key))
builder.setKey(key);
if(!StringUtil.isNullOrEmpty(value))
builder.setValue(value);
return builder.build();
}
}
@@ -27,4 +27,40 @@ public class GeneralAdmin {
return AdminHttpUtils.httpJsonPost(path, inputCreateChannel, OutputCreateChannel.class);
}
//以下仅专业版支持
public static IMResult<Void> setConversationTop(String userId, int conversationType, String target, int line, boolean isTop) throws Exception {
String key = conversationType + "-" + line + "-" + target;
String value = isTop?"1":"0";
return setUserSetting(userId, 3, key, value);
}
public static IMResult<Boolean> getConversationTop(String userId, int conversationType, String target, int line) throws Exception {
String key = conversationType + "-" + line + "-" + target;
IMResult<UserSettingPojo> result = getUserSetting(userId, 3, key);
IMResult<Boolean> out = new IMResult<Boolean>();
out.code = result.code;
out.msg = result.msg;
out.result = result.result != null && "1".equals(result.result.getValue());
return out;
}
private static IMResult<UserSettingPojo> getUserSetting(String userId, int scope, String key) throws Exception {
String path = APIPath.User_Get_Setting;
UserSettingPojo pojo = new UserSettingPojo();
pojo.setUserId(userId);
pojo.setScope(scope);
pojo.setKey(key);
return AdminHttpUtils.httpJsonPost(path, pojo, UserSettingPojo.class);
}
private static IMResult<Void> setUserSetting(String userId, int scope, String key, String value) throws Exception {
String path = APIPath.User_Put_Setting;
UserSettingPojo pojo = new UserSettingPojo();
pojo.setUserId(userId);
pojo.setScope(scope);
pojo.setKey(key);
pojo.setValue(value);
return AdminHttpUtils.httpJsonPost(path, pojo, Void.class);
}
}