添加获取两个用户好友关系的接口
This commit is contained in:
+61
@@ -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 com.xiaoleilu.loServer.action.admin;
|
||||
|
||||
import cn.wildfirechat.common.APIPath;
|
||||
import cn.wildfirechat.pojos.InputUserId;
|
||||
import cn.wildfirechat.pojos.OutputStringList;
|
||||
import cn.wildfirechat.pojos.RelationPojo;
|
||||
import cn.wildfirechat.pojos.StringPairPojo;
|
||||
import com.google.gson.Gson;
|
||||
import com.xiaoleilu.loServer.RestResult;
|
||||
import com.xiaoleilu.loServer.annotation.HttpMethod;
|
||||
import com.xiaoleilu.loServer.annotation.Route;
|
||||
import com.xiaoleilu.loServer.handler.Request;
|
||||
import com.xiaoleilu.loServer.handler.Response;
|
||||
import com.xiaoleilu.loServer.model.FriendData;
|
||||
import io.netty.handler.codec.http.FullHttpRequest;
|
||||
import io.netty.handler.codec.http.HttpResponseStatus;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
@Route(APIPath.Relation_Get)
|
||||
@HttpMethod("POST")
|
||||
public class RelationGetAction extends AdminAction {
|
||||
|
||||
@Override
|
||||
public boolean isTransactionAction() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean action(Request request, Response response) {
|
||||
if (request.getNettyRequest() instanceof FullHttpRequest) {
|
||||
StringPairPojo input = getRequestBody(request.getNettyRequest(), StringPairPojo.class);
|
||||
FriendData data = messagesStore.getFriendData(input.getFirst(), input.getSecond());
|
||||
|
||||
RelationPojo out = new RelationPojo();
|
||||
out.userId = input.getFirst();
|
||||
out.targetId = input.getSecond();
|
||||
if(data != null ) {
|
||||
out.isFriend = data.getState() == 0;
|
||||
out.isBlacked = data.getBlacked() == 1;
|
||||
out.alias = data.getAlias();
|
||||
out.extra = data.getExtra();
|
||||
}
|
||||
|
||||
response.setStatus(HttpResponseStatus.OK);
|
||||
RestResult result = RestResult.ok(out);
|
||||
response.setContent(new Gson().toJson(result));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -40,6 +40,7 @@ public interface APIPath {
|
||||
String Friend_Set_Alias = "/admin/friend/set_alias";
|
||||
String Friend_Send_Request = "/admin/friend/send_request";
|
||||
String Friend_Get_Requests = "/admin/friend/get_requests";
|
||||
String Relation_Get = "/admin/relation/get";
|
||||
|
||||
String Msg_Send = "/admin/message/send";
|
||||
String Msg_Recall = "/admin/message/recall";
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
package cn.wildfirechat.pojos;
|
||||
|
||||
public class RelationPojo {
|
||||
public String userId;
|
||||
public String targetId;
|
||||
public boolean isFriend;
|
||||
public boolean isBlacked;
|
||||
public String alias;
|
||||
public String extra;
|
||||
}
|
||||
@@ -331,17 +331,25 @@ public class Main {
|
||||
String alias = "hello" + System.currentTimeMillis();
|
||||
IMResult<Void> updateFriendAlias = RelationAdmin.updateFriendAlias("ff1", "ff2", alias);
|
||||
if (updateFriendAlias != null && updateFriendAlias.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) {
|
||||
System.out.println("update friend status success");
|
||||
System.out.println("update friend alias success");
|
||||
} else {
|
||||
System.out.println("update friend status failure");
|
||||
System.out.println("update friend alias failure");
|
||||
System.exit(-1);
|
||||
}
|
||||
|
||||
IMResult<OutputGetAlias> getFriendAlias = RelationAdmin.getFriendAlias("ff1", "ff2");
|
||||
if (getFriendAlias != null && getFriendAlias.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS && getFriendAlias.getResult().getAlias().equals(alias)) {
|
||||
System.out.println("update friend status success");
|
||||
System.out.println("get friend alias success");
|
||||
} else {
|
||||
System.out.println("update friend status failure");
|
||||
System.out.println("get friend alias failure");
|
||||
System.exit(-1);
|
||||
}
|
||||
|
||||
IMResult<RelationPojo> getRelation = RelationAdmin.getRelation("ff1", "ff2");
|
||||
if (getRelation != null && getRelation.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) {
|
||||
System.out.println("get friend relation success");
|
||||
} else {
|
||||
System.out.println("get friend relation failure");
|
||||
System.exit(-1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,4 +65,10 @@ public class RelationAdmin {
|
||||
input.setForce(force);
|
||||
return AdminHttpUtils.httpJsonPost(path, input, Void.class);
|
||||
}
|
||||
|
||||
public static IMResult<RelationPojo> getRelation(String userId, String targetId) throws Exception {
|
||||
String path = APIPath.Relation_Get;
|
||||
StringPairPojo input = new StringPairPojo(userId, targetId);
|
||||
return AdminHttpUtils.httpJsonPost(path, input, RelationPojo.class);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user