From e3d9e0d1838113340e6d17adc4f52dffdf0ca6ba Mon Sep 17 00:00:00 2001 From: heavyrian2012 Date: Wed, 26 Jan 2022 21:53:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E5=A5=BD=E5=8F=8B=E8=AF=B7?= =?UTF-8?q?=E6=B1=82=E5=90=8E=E9=80=9A=E7=9F=A5=E5=AE=A2=E6=88=B7=E7=AB=AF?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=A5=BD=E5=8F=8B=E8=AF=B7=E6=B1=82=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../moquette/imhandler/HandleFriendRequestHandler.java | 10 +++++++++- .../io/moquette/persistence/MemoryMessagesStore.java | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/broker/src/main/java/io/moquette/imhandler/HandleFriendRequestHandler.java b/broker/src/main/java/io/moquette/imhandler/HandleFriendRequestHandler.java index 04f59be1..4e5b5355 100644 --- a/broker/src/main/java/io/moquette/imhandler/HandleFriendRequestHandler.java +++ b/broker/src/main/java/io/moquette/imhandler/HandleFriendRequestHandler.java @@ -28,7 +28,7 @@ public class HandleFriendRequestHandler extends IMHandler 0) { + publisher.publishNotification(IMTopic.NotifyFriendRequestTopic, request.getTargetUid(), heads[2], fromUser, null); + } + if(heads[3] > 0) { + publisher.publishNotification(IMTopic.NotifyFriendRequestTopic, fromUser, heads[3], fromUser, null); + } + } } if(errorCode == ERROR_CODE_ALREADY_FRIENDS) { errorCode = ERROR_CODE_SUCCESS; diff --git a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java index fb4bccb5..f2b6433a 100755 --- a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java +++ b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java @@ -3033,6 +3033,7 @@ public class MemoryMessagesStore implements IMessagesStore { return ErrorCode.ERROR_CODE_FRIEND_REQUEST_EXPIRED; } else { existRequest = existRequest.toBuilder().setStatus(request.getStatus()).setUpdateDt(System.currentTimeMillis()).build(); + heads[2] = existRequest.getUpdateDt(); databaseStore.persistOrUpdateFriendRequest(existRequest); if (request.getStatus() == ProtoConstants.FriendRequestStatus.RequestStatus_Accepted) { @@ -3051,6 +3052,7 @@ public class MemoryMessagesStore implements IMessagesStore { if (existTargetRequest != null && existTargetRequest.getStatus() == ProtoConstants.FriendRequestStatus.RequestStatus_Sent) { existTargetRequest = existTargetRequest.toBuilder().setStatus(request.getStatus()).setUpdateDt(existRequest.getUpdateDt()).build(); + heads[3] = existRequest.getUpdateDt(); databaseStore.persistOrUpdateFriendRequest(existTargetRequest); } }