From 2d661a1f74717d79621a438286810bdc2c478d37 Mon Sep 17 00:00:00 2001 From: imhao183 Date: Fri, 23 Apr 2021 09:05:10 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../action/admin/AddFriendRequestAction.java | 36 ++++----------- .../action/admin/AddGroupMemberAction.java | 36 ++++----------- .../loServer/action/admin/AdminAction.java | 38 ++++++++++++++++ .../action/admin/BroadcastMessageAction.java | 40 +++++------------ .../action/admin/CheckUserOnlineAction.java | 28 ++---------- .../action/admin/CreateChannelAction.java | 42 +++++------------- .../action/admin/CreateGroupAction.java | 42 +++++------------- .../action/admin/DestroyUserAction.java | 44 +++++-------------- .../action/admin/DismissGroupAction.java | 36 ++++----------- .../action/admin/FriendRelationAction.java | 34 ++++---------- .../action/admin/GetIMTokenAction.java | 44 +++++-------------- .../admin/KickoffGroupMemberAction.java | 36 ++++----------- .../action/admin/ModifyGroupInfoAction.java | 36 ++++----------- .../admin/ModifyGroupMemberAliasAction.java | 36 ++++----------- .../action/admin/MulticastMessageAction.java | 40 +++++------------ .../action/admin/QuitGroupMemberAction.java | 36 ++++----------- .../action/admin/RecallMessageAction.java | 32 +++----------- .../admin/RecallMultiCastMessageAction.java | 32 +++----------- .../action/admin/SendMessageAction.java | 40 +++++------------ .../action/admin/SetGroupManagerAction.java | 36 ++++----------- .../action/admin/TransferGroupAction.java | 36 ++++----------- 21 files changed, 210 insertions(+), 570 deletions(-) diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AddFriendRequestAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AddFriendRequestAction.java index 36671da9..164d7713 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AddFriendRequestAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AddFriendRequestAction.java @@ -46,36 +46,16 @@ public class AddFriendRequestAction extends AdminAction { } WFCMessage.AddFriendRequest addFriendRequest = WFCMessage.AddFriendRequest.newBuilder().setReason(input.getReason()).setTargetUid(input.getFriendUid()).build(); - ServerAPIHelper.sendRequest(input.getUserId(), null, IMTopic.AddFriendRequestTopic, addFriendRequest.toByteArray(), input.getUserId(), TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { - @Override - public void onSuccess(byte[] result) { - ByteBuf byteBuf = Unpooled.buffer(); - byteBuf.writeBytes(result); - ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); - if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { - sendResponse(response, null, null); - } else { - sendResponse(response, errorCode, null); - } - } - - @Override - public void onError(ErrorCode errorCode) { + sendApiMessage(input.getUserId(), IMTopic.AddFriendRequestTopic, addFriendRequest.toByteArray(), result -> { + ByteBuf byteBuf = Unpooled.buffer(); + byteBuf.writeBytes(result); + ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); + if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { + sendResponse(response, null, null); + } else { sendResponse(response, errorCode, null); } - - @Override - public void onTimeout() { - sendResponse(response, ErrorCode.ERROR_CODE_TIMEOUT, null); - } - - @Override - public Executor getResponseExecutor() { - return command -> { - ctx.executor().execute(command); - }; - } - }, input.isForce()); + }); return false; } return true; diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AddGroupMemberAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AddGroupMemberAction.java index 72b79768..414bf51d 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AddGroupMemberAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AddGroupMemberAction.java @@ -42,36 +42,16 @@ public class AddGroupMemberAction extends AdminAction { if (request.getNettyRequest() instanceof FullHttpRequest) { InputAddGroupMember inputAddGroupMember = getRequestBody(request.getNettyRequest(), InputAddGroupMember.class); if (inputAddGroupMember.isValide()) { - ServerAPIHelper.sendRequest(inputAddGroupMember.getOperator(), null, IMTopic.AddGroupMemberTopic, inputAddGroupMember.toProtoGroupRequest().toByteArray(), inputAddGroupMember.getOperator(), TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { - @Override - public void onSuccess(byte[] result) { - ByteBuf byteBuf = Unpooled.buffer(); - byteBuf.writeBytes(result); - ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); - if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { - sendResponse(response, null, null); - } else { - sendResponse(response, errorCode, null); - } - } - - @Override - public void onError(ErrorCode errorCode) { + sendApiMessage(inputAddGroupMember.getOperator(), IMTopic.AddGroupMemberTopic, inputAddGroupMember.toProtoGroupRequest().toByteArray(), result -> { + ByteBuf byteBuf = Unpooled.buffer(); + byteBuf.writeBytes(result); + ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); + if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { + sendResponse(response, null, null); + } else { sendResponse(response, errorCode, null); } - - @Override - public void onTimeout() { - sendResponse(response, ErrorCode.ERROR_CODE_TIMEOUT, null); - } - - @Override - public Executor getResponseExecutor() { - return command -> { - ctx.executor().execute(command); - }; - } - }, true); + }); return false; } else { response.setStatus(HttpResponseStatus.OK); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AdminAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AdminAction.java index 807e4d03..a7b49964 100644 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AdminAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/AdminAction.java @@ -12,16 +12,24 @@ import com.google.gson.Gson; import com.xiaoleilu.loServer.LoServer; import com.xiaoleilu.loServer.RestResult; import com.xiaoleilu.loServer.action.Action; +import com.xiaoleilu.loServer.action.channel.ChannelAction; import com.xiaoleilu.loServer.handler.Request; import com.xiaoleilu.loServer.handler.Response; +import io.moquette.persistence.ServerAPIHelper; +import io.moquette.persistence.TargetEntry; +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; import io.netty.handler.codec.http.HttpResponseStatus; import io.netty.util.internal.StringUtil; import org.apache.commons.codec.digest.DigestUtils; import cn.wildfirechat.common.ErrorCode; import org.slf4j.LoggerFactory; +import win.liyufan.im.IMTopic; import win.liyufan.im.RateLimiter; import win.liyufan.im.Utility; +import java.util.concurrent.Executor; + abstract public class AdminAction extends Action { private static final org.slf4j.Logger LOG = LoggerFactory.getLogger(AdminAction.class); private static String SECRET_KEY = "123456"; @@ -31,6 +39,10 @@ abstract public class AdminAction extends Action { SECRET_KEY = secretKey; } + protected interface Callback { + void onSuccess(byte[] response); + } + public static void setNoCheckTime(String noCheckTime) { try { NO_CHECK_TIME = Boolean.parseBoolean(noCheckTime); @@ -90,4 +102,30 @@ abstract public class AdminAction extends Action { response.setContent(new Gson().toJson(result)); response.send(); } + + protected void sendApiMessage(String fromUser, String topic, byte[] message, Callback callback) { + ServerAPIHelper.sendRequest(fromUser, null, topic, message, fromUser, TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { + @Override + public void onSuccess(byte[] result) { + callback.onSuccess(result); + } + + @Override + public void onError(ErrorCode errorCode) { + sendResponse(response, errorCode, null); + } + + @Override + public void onTimeout() { + sendResponse(response, ErrorCode.ERROR_CODE_TIMEOUT, null); + } + + @Override + public Executor getResponseExecutor() { + return command -> { + ctx.executor().execute(command); + }; + } + }, true); + } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/BroadcastMessageAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/BroadcastMessageAction.java index 9528ed9e..acb2d117 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/BroadcastMessageAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/BroadcastMessageAction.java @@ -44,38 +44,18 @@ public class BroadcastMessageAction extends AdminAction { if (request.getNettyRequest() instanceof FullHttpRequest) { BroadMessageData sendMessageData = getRequestBody(request.getNettyRequest(), BroadMessageData.class); if (BroadMessageData.isValide(sendMessageData) && !StringUtil.isNullOrEmpty(sendMessageData.getSender())) { - ServerAPIHelper.sendRequest(sendMessageData.getSender(), null, IMTopic.BroadcastMessageTopic, sendMessageData.toProtoMessage().toByteArray(), sendMessageData.getSender(), TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { - @Override - public void onSuccess(byte[] result) { - ByteBuf byteBuf = Unpooled.buffer(); - byteBuf.writeBytes(result); - ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); - if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { - long messageId = byteBuf.readLong(); - long count = byteBuf.readLong(); - sendResponse(response, null, new BroadMessageResult(messageId, count)); - } else { - sendResponse(response, errorCode, null); - } - } - - @Override - public void onError(ErrorCode errorCode) { + sendApiMessage(sendMessageData.getSender(), IMTopic.BroadcastMessageTopic, sendMessageData.toProtoMessage().toByteArray(), result -> { + ByteBuf byteBuf = Unpooled.buffer(); + byteBuf.writeBytes(result); + ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); + if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { + long messageId = byteBuf.readLong(); + long count = byteBuf.readLong(); + sendResponse(response, null, new BroadMessageResult(messageId, count)); + } else { sendResponse(response, errorCode, null); } - - @Override - public void onTimeout() { - sendResponse(response, ErrorCode.ERROR_CODE_TIMEOUT, null); - } - - @Override - public Executor getResponseExecutor() { - return command -> { - ctx.executor().execute(command); - }; - } - }, true); + }); return false; } else { response.setStatus(HttpResponseStatus.OK); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CheckUserOnlineAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CheckUserOnlineAction.java index ce42f675..c3b1ec38 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CheckUserOnlineAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CheckUserOnlineAction.java @@ -38,30 +38,10 @@ public class CheckUserOnlineAction extends AdminAction { if (request.getNettyRequest() instanceof FullHttpRequest) { InputGetUserInfo inputUserId = getRequestBody(request.getNettyRequest(), InputGetUserInfo.class); if (inputUserId == null || !StringUtil.isNullOrEmpty(inputUserId.getUserId())) { - ServerAPIHelper.sendRequest(null, null, ServerAPIHelper.CHECK_USER_ONLINE_REQUEST, inputUserId.getUserId().getBytes(), inputUserId.getUserId(), TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { - @Override - public void onSuccess(byte[] res) { - OutputCheckUserOnline out = new Gson().fromJson(new String(res), OutputCheckUserOnline.class); - sendResponse(response, null, out); - } - - @Override - public void onError(ErrorCode errorCode) { - sendResponse(response, errorCode, null); - } - - @Override - public void onTimeout() { - sendResponse(response, ErrorCode.ERROR_CODE_TIMEOUT, null); - } - - @Override - public Executor getResponseExecutor() { - return command -> { - ctx.executor().execute(command); - }; - } - }, true); + sendApiMessage(inputUserId.getUserId(), ServerAPIHelper.CHECK_USER_ONLINE_REQUEST, inputUserId.getUserId().getBytes(), res -> { + OutputCheckUserOnline out = new Gson().fromJson(new String(res), OutputCheckUserOnline.class); + sendResponse(response, null, out); + }); return false; } else { sendResponse(response, ErrorCode.INVALID_PARAMETER, null); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateChannelAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateChannelAction.java index 345dd092..2a242340 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateChannelAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateChannelAction.java @@ -50,39 +50,19 @@ public class CreateChannelAction extends AdminAction { inputCreateChannel.setTargetId(messagesStore.getShortUUID()); } - ServerAPIHelper.sendRequest(inputCreateChannel.getOwner(), null, IMTopic.CreateChannelTopic, inputCreateChannel.toProtoChannelInfo().toByteArray(), inputCreateChannel.getOwner(), TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { - @Override - public void onSuccess(byte[] result) { - ByteBuf byteBuf = Unpooled.buffer(); - byteBuf.writeBytes(result); - ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); - if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { - byte[] data = new byte[byteBuf.readableBytes()]; - byteBuf.readBytes(data); - String channelId = new String(data); - sendResponse(response, null, new OutputCreateChannel(channelId)); - } else { - sendResponse(response, errorCode, null); - } - } - - @Override - public void onError(ErrorCode errorCode) { + sendApiMessage(inputCreateChannel.getOwner(), IMTopic.CreateChannelTopic, inputCreateChannel.toProtoChannelInfo().toByteArray(), result -> { + ByteBuf byteBuf = Unpooled.buffer(); + byteBuf.writeBytes(result); + ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); + if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { + byte[] data = new byte[byteBuf.readableBytes()]; + byteBuf.readBytes(data); + String channelId = new String(data); + sendResponse(response, null, new OutputCreateChannel(channelId)); + } else { sendResponse(response, errorCode, null); } - - @Override - public void onTimeout() { - sendResponse(response, ErrorCode.ERROR_CODE_TIMEOUT, null); - } - - @Override - public Executor getResponseExecutor() { - return command -> { - ctx.executor().execute(command); - }; - } - }, true); + }); return false; } else { response.setStatus(HttpResponseStatus.OK); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateGroupAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateGroupAction.java index 6036c2df..85e7d7d2 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateGroupAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateGroupAction.java @@ -43,39 +43,19 @@ public class CreateGroupAction extends AdminAction { if (request.getNettyRequest() instanceof FullHttpRequest) { InputCreateGroup inputCreateGroup = getRequestBody(request.getNettyRequest(), InputCreateGroup.class); if (inputCreateGroup.isValide()) { - ServerAPIHelper.sendRequest(inputCreateGroup.getOperator(), null, IMTopic.CreateGroupTopic, inputCreateGroup.toProtoGroupRequest().toByteArray(), inputCreateGroup.getOperator(), TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { - @Override - public void onSuccess(byte[] result) { - ByteBuf byteBuf = Unpooled.buffer(); - byteBuf.writeBytes(result); - ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); - if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { - byte[] data = new byte[byteBuf.readableBytes()]; - byteBuf.readBytes(data); - String groupId = new String(data); - sendResponse(response, null, new OutputCreateGroupResult(groupId)); - } else { - sendResponse(response, errorCode, null); - } - } - - @Override - public void onError(ErrorCode errorCode) { + sendApiMessage(inputCreateGroup.getOperator(), IMTopic.CreateGroupTopic, inputCreateGroup.toProtoGroupRequest().toByteArray(), result -> { + ByteBuf byteBuf = Unpooled.buffer(); + byteBuf.writeBytes(result); + ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); + if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { + byte[] data = new byte[byteBuf.readableBytes()]; + byteBuf.readBytes(data); + String groupId = new String(data); + sendResponse(response, null, new OutputCreateGroupResult(groupId)); + } else { sendResponse(response, errorCode, null); } - - @Override - public void onTimeout() { - sendResponse(response, ErrorCode.ERROR_CODE_TIMEOUT, null); - } - - @Override - public Executor getResponseExecutor() { - return command -> { - ctx.executor().execute(command); - }; - } - }, true); + }); return false; } else { response.setStatus(HttpResponseStatus.OK); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DestroyUserAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DestroyUserAction.java index 5016afae..190b45fa 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DestroyUserAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DestroyUserAction.java @@ -45,41 +45,21 @@ public class DestroyUserAction extends AdminAction { && !StringUtil.isNullOrEmpty(inputDestroyUser.getUserId())) { WFCMessage.IDBuf idBuf = WFCMessage.IDBuf.newBuilder().setId(inputDestroyUser.getUserId()).build(); - ServerAPIHelper.sendRequest(inputDestroyUser.getUserId(), null, IMTopic.DestroyUserTopic, idBuf.toByteArray(), inputDestroyUser.getUserId(), TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { - @Override - public void onSuccess(byte[] result) { - ErrorCode errorCode1 = ErrorCode.fromCode(result[0]); - if (errorCode1 == ErrorCode.ERROR_CODE_SUCCESS) { - //ba errorcode qudiao - byte[] data = new byte[result.length -1]; - for (int i = 0; i < data.length; i++) { - data[i] = result[i+1]; - } - String token = Base64.getEncoder().encodeToString(data); - - sendResponse(response, null, null); - } else { - sendResponse(response, errorCode1, null); + sendApiMessage(inputDestroyUser.getUserId(), IMTopic.DestroyUserTopic, idBuf.toByteArray(), result -> { + ErrorCode errorCode1 = ErrorCode.fromCode(result[0]); + if (errorCode1 == ErrorCode.ERROR_CODE_SUCCESS) { + //ba errorcode qudiao + byte[] data = new byte[result.length -1]; + for (int i = 0; i < data.length; i++) { + data[i] = result[i+1]; } - } + String token = Base64.getEncoder().encodeToString(data); - @Override - public void onError(ErrorCode errorCode) { - sendResponse(response, errorCode, null); + sendResponse(response, null, null); + } else { + sendResponse(response, errorCode1, null); } - - @Override - public void onTimeout() { - sendResponse(response, ErrorCode.ERROR_CODE_TIMEOUT, null); - } - - @Override - public Executor getResponseExecutor() { - return command -> { - ctx.executor().execute(command); - }; - } - }, true); + }); return false; } else { response.setStatus(HttpResponseStatus.OK); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DismissGroupAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DismissGroupAction.java index 1254f0bb..ebe42935 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DismissGroupAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DismissGroupAction.java @@ -42,36 +42,16 @@ public class DismissGroupAction extends AdminAction { if (request.getNettyRequest() instanceof FullHttpRequest) { InputDismissGroup inputDismissGroup = getRequestBody(request.getNettyRequest(), InputDismissGroup.class); if (inputDismissGroup.isValide()) { - ServerAPIHelper.sendRequest(inputDismissGroup.getOperator(), null, IMTopic.DismissGroupTopic, inputDismissGroup.toProtoGroupRequest().toByteArray(), inputDismissGroup.getOperator(), TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { - @Override - public void onSuccess(byte[] result) { - ByteBuf byteBuf = Unpooled.buffer(); - byteBuf.writeBytes(result); - ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); - if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { - sendResponse(response, null, null); - } else { - sendResponse(response, errorCode, null); - } - } - - @Override - public void onError(ErrorCode errorCode) { + sendApiMessage(inputDismissGroup.getOperator(), IMTopic.DismissGroupTopic, inputDismissGroup.toProtoGroupRequest().toByteArray(), result -> { + ByteBuf byteBuf = Unpooled.buffer(); + byteBuf.writeBytes(result); + ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); + if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { + sendResponse(response, null, null); + } else { sendResponse(response, errorCode, null); } - - @Override - public void onTimeout() { - sendResponse(response, ErrorCode.ERROR_CODE_TIMEOUT, null); - } - - @Override - public Executor getResponseExecutor() { - return command -> { - ctx.executor().execute(command); - }; - } - }, true); + }); return false; } else { response.setStatus(HttpResponseStatus.OK); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/FriendRelationAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/FriendRelationAction.java index 91e6d610..831a7ddf 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/FriendRelationAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/FriendRelationAction.java @@ -50,34 +50,16 @@ public class FriendRelationAction extends AdminAction { if (!StringUtil.isNullOrEmpty(friendAdd.getExtra())) { friendRequestBuilder = friendRequestBuilder.setExtra(friendAdd.getExtra()); } - ServerAPIHelper.sendRequest(friendAdd.getUserId(), null, IMTopic.HandleFriendRequestTopic, friendRequestBuilder.build().toByteArray(), friendAdd.getFriendUid(), TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { - @Override - public void onSuccess(byte[] result) { - ByteBuf byteBuf = Unpooled.buffer(); - byteBuf.writeBytes(result); - ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); - if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { - sendResponse(response, null, null); - } else { - sendResponse(response, errorCode, null); - } - } - - @Override - public void onError(ErrorCode errorCode) { + sendApiMessage(friendAdd.getUserId(), IMTopic.HandleFriendRequestTopic, friendRequestBuilder.build().toByteArray(), result -> { + ByteBuf byteBuf = Unpooled.buffer(); + byteBuf.writeBytes(result); + ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); + if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { + sendResponse(response, null, null); + } else { sendResponse(response, errorCode, null); } - - @Override - public void onTimeout() { - sendResponse(response, ErrorCode.ERROR_CODE_TIMEOUT, null); - } - - @Override - public Executor getResponseExecutor() { - return command -> ctx.executor().execute(command); - } - }, true); + }); return false; } else { response.setStatus(HttpResponseStatus.OK); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetIMTokenAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetIMTokenAction.java index fb9ca92a..2b38a84e 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetIMTokenAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetIMTokenAction.java @@ -42,41 +42,21 @@ public class GetIMTokenAction extends AdminAction { WFCMessage.GetTokenRequest getTokenRequest = WFCMessage.GetTokenRequest.newBuilder().setUserId(userId).setClientId(input.getClientId()).setPlatform(input.getPlatform() == null ? 0 : input.getPlatform()).build(); - ServerAPIHelper.sendRequest(userId, input.getClientId(), IMTopic.GetTokenTopic, getTokenRequest.toByteArray(), userId, TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { - @Override - public void onSuccess(byte[] result) { - ErrorCode errorCode1 = ErrorCode.fromCode(result[0]); - if (errorCode1 == ErrorCode.ERROR_CODE_SUCCESS) { - //ba errorcode qudiao - byte[] data = new byte[result.length -1]; - for (int i = 0; i < data.length; i++) { - data[i] = result[i+1]; - } - String token = Base64.getEncoder().encodeToString(data); - - sendResponse(response, null, new OutputGetIMTokenData(userId, token)); - } else { - sendResponse(response, errorCode1, null); + sendApiMessage(userId, IMTopic.GetTokenTopic, getTokenRequest.toByteArray(), result -> { + ErrorCode errorCode1 = ErrorCode.fromCode(result[0]); + if (errorCode1 == ErrorCode.ERROR_CODE_SUCCESS) { + //ba errorcode qudiao + byte[] data = new byte[result.length -1]; + for (int i = 0; i < data.length; i++) { + data[i] = result[i+1]; } - } + String token = Base64.getEncoder().encodeToString(data); - @Override - public void onError(ErrorCode errorCode) { - sendResponse(response, errorCode, null); + sendResponse(response, null, new OutputGetIMTokenData(userId, token)); + } else { + sendResponse(response, errorCode1, null); } - - @Override - public void onTimeout() { - sendResponse(response, ErrorCode.ERROR_CODE_TIMEOUT, null); - } - - @Override - public Executor getResponseExecutor() { - return command -> { - ctx.executor().execute(command); - }; - } - }, true); + }); return false; } return true; diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/KickoffGroupMemberAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/KickoffGroupMemberAction.java index 3262179b..699a3557 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/KickoffGroupMemberAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/KickoffGroupMemberAction.java @@ -42,36 +42,16 @@ public class KickoffGroupMemberAction extends AdminAction { if (request.getNettyRequest() instanceof FullHttpRequest) { InputKickoffGroupMember inputKickoffGroupMember = getRequestBody(request.getNettyRequest(), InputKickoffGroupMember.class); if (inputKickoffGroupMember.isValide()) { - ServerAPIHelper.sendRequest(inputKickoffGroupMember.getOperator(), null, IMTopic.KickoffGroupMemberTopic, inputKickoffGroupMember.toProtoGroupRequest().toByteArray(), inputKickoffGroupMember.getOperator(), TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { - @Override - public void onSuccess(byte[] result) { - ByteBuf byteBuf = Unpooled.buffer(); - byteBuf.writeBytes(result); - ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); - if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { - sendResponse(response, null, null); - } else { - sendResponse(response, errorCode, null); - } - } - - @Override - public void onError(ErrorCode errorCode) { + sendApiMessage(inputKickoffGroupMember.getOperator(), IMTopic.KickoffGroupMemberTopic, inputKickoffGroupMember.toProtoGroupRequest().toByteArray(), result -> { + ByteBuf byteBuf = Unpooled.buffer(); + byteBuf.writeBytes(result); + ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); + if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { + sendResponse(response, null, null); + } else { sendResponse(response, errorCode, null); } - - @Override - public void onTimeout() { - sendResponse(response, ErrorCode.ERROR_CODE_TIMEOUT, null); - } - - @Override - public Executor getResponseExecutor() { - return command -> { - ctx.executor().execute(command); - }; - } - }, true); + }); return false; } else { response.setStatus(HttpResponseStatus.OK); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/ModifyGroupInfoAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/ModifyGroupInfoAction.java index 46958bcc..dcabcbfe 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/ModifyGroupInfoAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/ModifyGroupInfoAction.java @@ -42,36 +42,16 @@ public class ModifyGroupInfoAction extends AdminAction { if (request.getNettyRequest() instanceof FullHttpRequest) { InputModifyGroupInfo inputAddGroupMember = getRequestBody(request.getNettyRequest(), InputModifyGroupInfo.class); if (inputAddGroupMember.isValide()) { - ServerAPIHelper.sendRequest(inputAddGroupMember.getOperator(), null, IMTopic.ModifyGroupInfoTopic, inputAddGroupMember.toProtoGroupRequest().toByteArray(), inputAddGroupMember.getOperator(), TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { - @Override - public void onSuccess(byte[] result) { - ByteBuf byteBuf = Unpooled.buffer(); - byteBuf.writeBytes(result); - ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); - if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { - sendResponse(response, null, null); - } else { - sendResponse(response, errorCode, null); - } - } - - @Override - public void onError(ErrorCode errorCode) { + sendApiMessage(inputAddGroupMember.getOperator(), IMTopic.ModifyGroupInfoTopic, inputAddGroupMember.toProtoGroupRequest().toByteArray(), result -> { + ByteBuf byteBuf = Unpooled.buffer(); + byteBuf.writeBytes(result); + ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); + if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { + sendResponse(response, null, null); + } else { sendResponse(response, errorCode, null); } - - @Override - public void onTimeout() { - sendResponse(response, ErrorCode.ERROR_CODE_TIMEOUT, null); - } - - @Override - public Executor getResponseExecutor() { - return command -> { - ctx.executor().execute(command); - }; - } - }, true); + }); return false; } else { response.setStatus(HttpResponseStatus.OK); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/ModifyGroupMemberAliasAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/ModifyGroupMemberAliasAction.java index 328604e9..a22b78db 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/ModifyGroupMemberAliasAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/ModifyGroupMemberAliasAction.java @@ -42,36 +42,16 @@ public class ModifyGroupMemberAliasAction extends AdminAction { if (request.getNettyRequest() instanceof FullHttpRequest) { InputSetGroupMemberAlias inputSetGroupMemberAlias = getRequestBody(request.getNettyRequest(), InputSetGroupMemberAlias.class); if (inputSetGroupMemberAlias.isValide()) { - ServerAPIHelper.sendRequest(inputSetGroupMemberAlias.getOperator(), null, IMTopic.ModifyGroupMemberAliasTopic, inputSetGroupMemberAlias.toProtoGroupRequest().toByteArray(), inputSetGroupMemberAlias.getOperator(), TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { - @Override - public void onSuccess(byte[] result) { - ByteBuf byteBuf = Unpooled.buffer(); - byteBuf.writeBytes(result); - ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); - if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { - sendResponse(response, null, null); - } else { - sendResponse(response, errorCode, null); - } - } - - @Override - public void onError(ErrorCode errorCode) { + sendApiMessage(inputSetGroupMemberAlias.getOperator(), IMTopic.ModifyGroupMemberAliasTopic, inputSetGroupMemberAlias.toProtoGroupRequest().toByteArray(), result -> { + ByteBuf byteBuf = Unpooled.buffer(); + byteBuf.writeBytes(result); + ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); + if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { + sendResponse(response, null, null); + } else { sendResponse(response, errorCode, null); } - - @Override - public void onTimeout() { - sendResponse(response, ErrorCode.ERROR_CODE_TIMEOUT, null); - } - - @Override - public Executor getResponseExecutor() { - return command -> { - ctx.executor().execute(command); - }; - } - }, true); + }); return false; } else { response.setStatus(HttpResponseStatus.OK); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/MulticastMessageAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/MulticastMessageAction.java index 4a9bdeb5..76984d77 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/MulticastMessageAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/MulticastMessageAction.java @@ -43,38 +43,18 @@ public class MulticastMessageAction extends AdminAction { if (request.getNettyRequest() instanceof FullHttpRequest) { MulticastMessageData sendMessageData = getRequestBody(request.getNettyRequest(), MulticastMessageData.class); if (MulticastMessageData.isValide(sendMessageData)) { - ServerAPIHelper.sendRequest(sendMessageData.getSender(), null, IMTopic.MultiCastMessageTopic, sendMessageData.toProtoMessage().toByteArray(), sendMessageData.getSender(), TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { - @Override - public void onSuccess(byte[] result) { - ByteBuf byteBuf = Unpooled.buffer(); - byteBuf.writeBytes(result); - ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); - if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { - long messageId = byteBuf.readLong(); - long timestamp = byteBuf.readLong(); - sendResponse(response, null, new MultiMessageResult(messageId, timestamp)); - } else { - sendResponse(response, errorCode, null); - } - } - - @Override - public void onError(ErrorCode errorCode) { + sendApiMessage(sendMessageData.getSender(), IMTopic.MultiCastMessageTopic, sendMessageData.toProtoMessage().toByteArray(), result -> { + ByteBuf byteBuf = Unpooled.buffer(); + byteBuf.writeBytes(result); + ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); + if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { + long messageId = byteBuf.readLong(); + long timestamp = byteBuf.readLong(); + sendResponse(response, null, new MultiMessageResult(messageId, timestamp)); + } else { sendResponse(response, errorCode, null); } - - @Override - public void onTimeout() { - sendResponse(response, ErrorCode.ERROR_CODE_TIMEOUT, null); - } - - @Override - public Executor getResponseExecutor() { - return command -> { - ctx.executor().execute(command); - }; - } - }, true); + }); return false; } else { response.setStatus(HttpResponseStatus.OK); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/QuitGroupMemberAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/QuitGroupMemberAction.java index f287002f..e1a8f001 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/QuitGroupMemberAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/QuitGroupMemberAction.java @@ -42,36 +42,16 @@ public class QuitGroupMemberAction extends AdminAction { if (request.getNettyRequest() instanceof FullHttpRequest) { InputQuitGroup inputQuitGroup = getRequestBody(request.getNettyRequest(), InputQuitGroup.class); if (inputQuitGroup.isValide()) { - ServerAPIHelper.sendRequest(inputQuitGroup.getOperator(), null, IMTopic.QuitGroupTopic, inputQuitGroup.toProtoGroupRequest().toByteArray(), inputQuitGroup.getOperator(), TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { - @Override - public void onSuccess(byte[] result) { - ByteBuf byteBuf = Unpooled.buffer(); - byteBuf.writeBytes(result); - ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); - if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { - sendResponse(response, null, null); - } else { - sendResponse(response, errorCode, null); - } - } - - @Override - public void onError(ErrorCode errorCode) { + sendApiMessage(inputQuitGroup.getOperator(), IMTopic.QuitGroupTopic, inputQuitGroup.toProtoGroupRequest().toByteArray(), result -> { + ByteBuf byteBuf = Unpooled.buffer(); + byteBuf.writeBytes(result); + ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); + if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { + sendResponse(response, null, null); + } else { sendResponse(response, errorCode, null); } - - @Override - public void onTimeout() { - sendResponse(response, ErrorCode.ERROR_CODE_TIMEOUT, null); - } - - @Override - public Executor getResponseExecutor() { - return command -> { - ctx.executor().execute(command); - }; - } - }, true); + }); return false; } else { response.setStatus(HttpResponseStatus.OK); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/RecallMessageAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/RecallMessageAction.java index 0260790c..1a2b47f9 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/RecallMessageAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/RecallMessageAction.java @@ -45,32 +45,12 @@ public class RecallMessageAction extends AdminAction { if (recallMessageData != null && !StringUtil.isNullOrEmpty(recallMessageData.getOperator())) { WFCMessage.INT64Buf idBuf = WFCMessage.INT64Buf.newBuilder().setId(recallMessageData.getMessageUid()).build(); - ServerAPIHelper.sendRequest(recallMessageData.getOperator(), null, IMTopic.RecallMessageTopic, idBuf.toByteArray(), recallMessageData.getOperator(), TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { - @Override - public void onSuccess(byte[] result) { - ByteBuf byteBuf = Unpooled.buffer(); - byteBuf.writeBytes(result); - ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); - sendResponse(response, errorCode, null); - } - - @Override - public void onError(ErrorCode errorCode) { - sendResponse(response, errorCode, null); - } - - @Override - public void onTimeout() { - sendResponse(response, ErrorCode.ERROR_CODE_TIMEOUT, null); - } - - @Override - public Executor getResponseExecutor() { - return command -> { - ctx.executor().execute(command); - }; - } - }, true); + sendApiMessage(recallMessageData.getOperator(), IMTopic.RecallMessageTopic, idBuf.toByteArray(), result -> { + ByteBuf byteBuf = Unpooled.buffer(); + byteBuf.writeBytes(result); + ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); + sendResponse(response, errorCode, null); + }); return false; } else { response.setStatus(HttpResponseStatus.OK); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/RecallMultiCastMessageAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/RecallMultiCastMessageAction.java index ad4157b7..558049b8 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/RecallMultiCastMessageAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/RecallMultiCastMessageAction.java @@ -45,32 +45,12 @@ public class RecallMultiCastMessageAction extends AdminAction { if (recallMessageData != null && !StringUtil.isNullOrEmpty(recallMessageData.operator)) { WFCMessage.RecallMultiCastMessageRequest recallRequest = WFCMessage.RecallMultiCastMessageRequest.newBuilder().setMessageId(recallMessageData.messageUid).addAllReceiver(recallMessageData.receivers).build(); - ServerAPIHelper.sendRequest(recallMessageData.operator, null, IMTopic.RecallMultiCastMessageTopic, recallRequest.toByteArray(), recallMessageData.operator, TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { - @Override - public void onSuccess(byte[] result) { - ByteBuf byteBuf = Unpooled.buffer(); - byteBuf.writeBytes(result); - ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); - sendResponse(response, errorCode, null); - } - - @Override - public void onError(ErrorCode errorCode) { - sendResponse(response, errorCode, null); - } - - @Override - public void onTimeout() { - sendResponse(response, ErrorCode.ERROR_CODE_TIMEOUT, null); - } - - @Override - public Executor getResponseExecutor() { - return command -> { - ctx.executor().execute(command); - }; - } - }, true); + sendApiMessage(recallMessageData.operator, IMTopic.RecallMultiCastMessageTopic, recallRequest.toByteArray(), result -> { + ByteBuf byteBuf = Unpooled.buffer(); + byteBuf.writeBytes(result); + ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); + sendResponse(response, errorCode, null); + }); return false; } else { response.setStatus(HttpResponseStatus.OK); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SendMessageAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SendMessageAction.java index 8600d237..8a45209c 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SendMessageAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SendMessageAction.java @@ -44,38 +44,18 @@ public class SendMessageAction extends AdminAction { if (request.getNettyRequest() instanceof FullHttpRequest) { SendMessageData sendMessageData = getRequestBody(request.getNettyRequest(), SendMessageData.class); if (SendMessageData.isValide(sendMessageData) && !StringUtil.isNullOrEmpty(sendMessageData.getSender())) { - ServerAPIHelper.sendRequest(sendMessageData.getSender(), null, IMTopic.SendMessageTopic, sendMessageData.toProtoMessage().toByteArray(), sendMessageData.getSender(), TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { - @Override - public void onSuccess(byte[] result) { - ByteBuf byteBuf = Unpooled.buffer(); - byteBuf.writeBytes(result); - ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); - if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { - long messageId = byteBuf.readLong(); - long timestamp = byteBuf.readLong(); - sendResponse(response, null, new SendMessageResult(messageId, timestamp)); - } else { - sendResponse(response, errorCode, null); - } - } - - @Override - public void onError(ErrorCode errorCode) { + sendApiMessage(sendMessageData.getSender(), IMTopic.SendMessageTopic, sendMessageData.toProtoMessage().toByteArray(), result -> { + ByteBuf byteBuf = Unpooled.buffer(); + byteBuf.writeBytes(result); + ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); + if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { + long messageId = byteBuf.readLong(); + long timestamp = byteBuf.readLong(); + sendResponse(response, null, new SendMessageResult(messageId, timestamp)); + } else { sendResponse(response, errorCode, null); } - - @Override - public void onTimeout() { - sendResponse(response, ErrorCode.ERROR_CODE_TIMEOUT, null); - } - - @Override - public Executor getResponseExecutor() { - return command -> { - ctx.executor().execute(command); - }; - } - }, true); + }); return false; } else { response.setStatus(HttpResponseStatus.OK); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SetGroupManagerAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SetGroupManagerAction.java index a66cc4ce..876af138 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SetGroupManagerAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SetGroupManagerAction.java @@ -42,36 +42,16 @@ public class SetGroupManagerAction extends AdminAction { if (request.getNettyRequest() instanceof FullHttpRequest) { InputSetGroupManager inputAddGroupMember = getRequestBody(request.getNettyRequest(), InputSetGroupManager.class); if (inputAddGroupMember.isValide()) { - ServerAPIHelper.sendRequest(inputAddGroupMember.getOperator(), null, IMTopic.SetGroupManagerTopic, inputAddGroupMember.toProtoGroupRequest().toByteArray(), inputAddGroupMember.getOperator(), TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { - @Override - public void onSuccess(byte[] result) { - ByteBuf byteBuf = Unpooled.buffer(); - byteBuf.writeBytes(result); - ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); - if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { - sendResponse(response, null, null); - } else { - sendResponse(response, errorCode, null); - } - } - - @Override - public void onError(ErrorCode errorCode) { + sendApiMessage(inputAddGroupMember.getOperator(), IMTopic.SetGroupManagerTopic, inputAddGroupMember.toProtoGroupRequest().toByteArray(), result -> { + ByteBuf byteBuf = Unpooled.buffer(); + byteBuf.writeBytes(result); + ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); + if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { + sendResponse(response, null, null); + } else { sendResponse(response, errorCode, null); } - - @Override - public void onTimeout() { - sendResponse(response, ErrorCode.ERROR_CODE_TIMEOUT, null); - } - - @Override - public Executor getResponseExecutor() { - return command -> { - ctx.executor().execute(command); - }; - } - }, true); + }); return false; } else { response.setStatus(HttpResponseStatus.OK); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/TransferGroupAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/TransferGroupAction.java index 97797d86..6609ed3e 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/TransferGroupAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/TransferGroupAction.java @@ -42,36 +42,16 @@ public class TransferGroupAction extends AdminAction { if (request.getNettyRequest() instanceof FullHttpRequest) { InputTransferGroup inputDismissGroup = getRequestBody(request.getNettyRequest(), InputTransferGroup.class); if (inputDismissGroup.isValide()) { - ServerAPIHelper.sendRequest(inputDismissGroup.getOperator(), null, IMTopic.TransferGroupTopic, inputDismissGroup.toProtoGroupRequest().toByteArray(), inputDismissGroup.getOperator(), TargetEntry.Type.TARGET_TYPE_USER, new ServerAPIHelper.Callback() { - @Override - public void onSuccess(byte[] result) { - ByteBuf byteBuf = Unpooled.buffer(); - byteBuf.writeBytes(result); - ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); - if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { - sendResponse(response, null, null); - } else { - sendResponse(response, errorCode, null); - } - } - - @Override - public void onError(ErrorCode errorCode) { + sendApiMessage(inputDismissGroup.getOperator(), IMTopic.TransferGroupTopic, inputDismissGroup.toProtoGroupRequest().toByteArray(), result -> { + ByteBuf byteBuf = Unpooled.buffer(); + byteBuf.writeBytes(result); + ErrorCode errorCode = ErrorCode.fromCode(byteBuf.readByte()); + if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { + sendResponse(response, null, null); + } else { sendResponse(response, errorCode, null); } - - @Override - public void onTimeout() { - sendResponse(response, ErrorCode.ERROR_CODE_TIMEOUT, null); - } - - @Override - public Executor getResponseExecutor() { - return command -> { - ctx.executor().execute(command); - }; - } - }, true); + }); return false; } else { response.setStatus(HttpResponseStatus.OK);