From 4d82eace86389d8b0b42c1590d10c89ddaec6d79 Mon Sep 17 00:00:00 2001 From: imndx Date: Thu, 4 Jul 2019 07:07:36 +0800 Subject: [PATCH] quit group, then send notification --- .../java/io/moquette/imhandler/QuitGroupHandler.java | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/broker/src/main/java/io/moquette/imhandler/QuitGroupHandler.java b/broker/src/main/java/io/moquette/imhandler/QuitGroupHandler.java index e36e66b4..38a3b9c8 100644 --- a/broker/src/main/java/io/moquette/imhandler/QuitGroupHandler.java +++ b/broker/src/main/java/io/moquette/imhandler/QuitGroupHandler.java @@ -20,19 +20,14 @@ import static win.liyufan.im.IMTopic.QuitGroupTopic; public class QuitGroupHandler extends GroupHandler { @Override public ErrorCode action(ByteBuf ackPayload, String clientID, String fromUser, boolean isAdmin, WFCMessage.QuitGroupRequest request, Qos1PublishHandler.IMCallback callback) { - ErrorCode errorCode = ErrorCode.ERROR_CODE_SUCCESS; - WFCMessage.GroupInfo groupInfo = m_messagesStore.getGroupInfo(request.getGroupId()); - if (groupInfo == null) { - errorCode = m_messagesStore.quitGroup(fromUser, request.getGroupId()); - } else { - //send notify message first, then quit group + ErrorCode errorCode = m_messagesStore.quitGroup(fromUser, request.getGroupId()); + if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { if (request.hasNotifyContent() && request.getNotifyContent().getType() > 0) { - sendGroupNotification(fromUser, groupInfo.getTargetId(), request.getToLineList(), request.getNotifyContent()); + sendGroupNotification(fromUser, request.getGroupId(), request.getToLineList(), request.getNotifyContent()); } else { WFCMessage.MessageContent content = new GroupNotificationBinaryContent(request.getGroupId(), fromUser, null, "").getQuitGroupNotifyContent(); sendGroupNotification(fromUser, request.getGroupId(), request.getToLineList(), content); } - errorCode = m_messagesStore.quitGroup(fromUser, request.getGroupId()); } return errorCode; }