删除好友通知
This commit is contained in:
@@ -14,10 +14,18 @@ import io.netty.buffer.ByteBuf;
|
||||
import cn.wildfirechat.common.ErrorCode;
|
||||
import win.liyufan.im.IMTopic;
|
||||
|
||||
import static cn.wildfirechat.common.ErrorCode.ERROR_CODE_SUCCESS;
|
||||
|
||||
@Handler(IMTopic.DeleteFriendTopic)
|
||||
public class DeleteFriendHandler extends IMHandler<WFCMessage.IDBuf> {
|
||||
@Override
|
||||
public ErrorCode action(ByteBuf ackPayload, String clientID, String fromUser, boolean isAdmin, WFCMessage.IDBuf request, Qos1PublishHandler.IMCallback callback) {
|
||||
return m_messagesStore.deleteFriend(fromUser, request.getId());
|
||||
long[] head = new long[2];
|
||||
ErrorCode errorCode = m_messagesStore.deleteFriend(fromUser, request.getId(), head);
|
||||
if (errorCode == ERROR_CODE_SUCCESS) {
|
||||
publisher.publishNotification(IMTopic.NotifyFriendTopic, fromUser, head[0]);
|
||||
publisher.publishNotification(IMTopic.NotifyFriendTopic, request.getId(), head[1]);
|
||||
}
|
||||
return errorCode;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1829,7 +1829,7 @@ public class MemoryMessagesStore implements IMessagesStore {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ErrorCode deleteFriend(String userId, String friendUid) {
|
||||
public ErrorCode deleteFriend(String userId, String friendUid, long[] head) {
|
||||
HazelcastInstance hzInstance = m_Server.getHazelcastInstance();
|
||||
MultiMap<String, FriendData> friendsMap = hzInstance.getMultiMap(USER_FRIENDS);
|
||||
Collection<FriendData> user1Friends = friendsMap.get(userId);
|
||||
@@ -1839,8 +1839,10 @@ public class MemoryMessagesStore implements IMessagesStore {
|
||||
for (FriendData data :
|
||||
user1Friends) {
|
||||
if (data.getFriendUid().equals(friendUid)) {
|
||||
long ts = System.currentTimeMillis();
|
||||
head[0] = ts;
|
||||
data.setState(1);
|
||||
data.setTimestamp(System.currentTimeMillis());
|
||||
data.setTimestamp(ts);
|
||||
databaseStore.persistOrUpdateFriendData(data);
|
||||
break;
|
||||
}
|
||||
@@ -1854,7 +1856,9 @@ public class MemoryMessagesStore implements IMessagesStore {
|
||||
user2Friends) {
|
||||
if (data.getFriendUid().equals(userId)) {
|
||||
data.setState(1);
|
||||
data.setTimestamp(System.currentTimeMillis());
|
||||
long ts = System.currentTimeMillis();
|
||||
head[1] = ts;
|
||||
data.setTimestamp(ts);
|
||||
databaseStore.persistOrUpdateFriendData(data);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -154,7 +154,7 @@ public interface IMessagesStore {
|
||||
|
||||
ErrorCode saveAddFriendRequest(String userId, WFCMessage.AddFriendRequest request, long[] head);
|
||||
ErrorCode handleFriendRequest(String userId, WFCMessage.HandleFriendRequest request, WFCMessage.Message.Builder msgBuilder, long[] heads, boolean isAdmin);
|
||||
ErrorCode deleteFriend(String userId, String friendUid);
|
||||
ErrorCode deleteFriend(String userId, String friendUid, long[] head);
|
||||
ErrorCode blackUserRequest(String fromUser, String targetUserId, int status, long[] head);
|
||||
ErrorCode SyncFriendRequestUnread(String userId, long unreadDt, long[] head);
|
||||
boolean isBlacked(String fromUser, String userId);
|
||||
|
||||
Reference in New Issue
Block a user