添加获取聊天室成员API接口
This commit is contained in:
+74
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
* 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.common.ErrorCode;
|
||||
import cn.wildfirechat.pojos.InputGetChatroomInfo;
|
||||
import cn.wildfirechat.pojos.OutputGetChatroomInfo;
|
||||
import cn.wildfirechat.pojos.OutputStringList;
|
||||
import cn.wildfirechat.proto.WFCMessage;
|
||||
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 io.moquette.persistence.UserClientEntry;
|
||||
import io.netty.handler.codec.http.FullHttpRequest;
|
||||
import io.netty.handler.codec.http.HttpResponseStatus;
|
||||
import io.netty.util.internal.StringUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
@Route(APIPath.Chatroom_GetMembers)
|
||||
@HttpMethod("POST")
|
||||
public class GetChatroomMembersAction extends AdminAction {
|
||||
|
||||
@Override
|
||||
public boolean isTransactionAction() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean action(Request request, Response response) {
|
||||
if (request.getNettyRequest() instanceof FullHttpRequest) {
|
||||
InputGetChatroomInfo getChatroomInfo = getRequestBody(request.getNettyRequest(), InputGetChatroomInfo.class);
|
||||
String chatroomid = getChatroomInfo.getChatroomId();
|
||||
if (!StringUtil.isNullOrEmpty(chatroomid)) {
|
||||
|
||||
Collection<UserClientEntry> members = messagesStore.getChatroomMembers(chatroomid);
|
||||
|
||||
List<String> list = new ArrayList<>();
|
||||
for (UserClientEntry entry : members) {
|
||||
list.add(entry.userId);
|
||||
}
|
||||
|
||||
RestResult result;
|
||||
if (!list.isEmpty()) {
|
||||
result = RestResult.ok(new OutputStringList(list));
|
||||
} else {
|
||||
result = RestResult.resultOf(ErrorCode.ERROR_CODE_NOT_EXIST);
|
||||
}
|
||||
response.setStatus(HttpResponseStatus.OK);
|
||||
|
||||
response.setContent(new Gson().toJson(result));
|
||||
|
||||
} else {
|
||||
response.setStatus(HttpResponseStatus.OK);
|
||||
RestResult result = RestResult.resultOf(ErrorCode.INVALID_PARAMETER);
|
||||
response.setContent(new Gson().toJson(result));
|
||||
}
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,7 @@ public interface APIPath {
|
||||
String Create_Chatroom = "/admin/chatroom/create";
|
||||
String Chatroom_Destroy = "/admin/chatroom/del";
|
||||
String Chatroom_Info = "/admin/chatroom/info";
|
||||
String Chatroom_GetMembers = "/admin/chatroom/members";
|
||||
|
||||
|
||||
String Sensitive_Add = "/admin/sensitive/add";
|
||||
|
||||
@@ -30,5 +30,13 @@ public class ChatroomAdmin {
|
||||
InputGetChatroomInfo input = new InputGetChatroomInfo(chatroomId);
|
||||
return AdminHttpUtils.httpJsonPost(path, input, OutputGetChatroomInfo.class);
|
||||
}
|
||||
|
||||
public static IMResult<OutputStringList> getChatroomMembers(String chatroomId) throws Exception {
|
||||
String path = APIPath.Chatroom_GetMembers;
|
||||
InputGetChatroomInfo input = new InputGetChatroomInfo(chatroomId);
|
||||
return AdminHttpUtils.httpJsonPost(path, input, OutputStringList.class);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -545,6 +545,13 @@ public class Main {
|
||||
System.exit(-1);
|
||||
}
|
||||
|
||||
IMResult<OutputStringList> memberList = ChatroomAdmin.getChatroomMembers(chatroomId);
|
||||
if (memberList != null && memberList.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) {
|
||||
System.out.println("get chatroom member success");
|
||||
} else {
|
||||
System.out.println("get chatroom member failure: " + memberList.getErrorCode().msg);
|
||||
}
|
||||
|
||||
IMResult<Void> voidIMResult = ChatroomAdmin.destroyChatroom(chatroomId);
|
||||
if (voidIMResult != null && voidIMResult.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) {
|
||||
System.out.println("destroy chatroom done!");
|
||||
|
||||
Reference in New Issue
Block a user