修改推送时名称的问题
This commit is contained in:
@@ -57,7 +57,7 @@ public class PushServer {
|
||||
}
|
||||
|
||||
public void pushMessage(PushMessage pushMessage, String deviceId, String pushContent) {
|
||||
LOG.info("try to delivery push diviceId = {}, pushContent = {}", deviceId, pushContent);
|
||||
LOG.info("try to delivery push diviceId = {}, conversationType = {}, pushContent = {}", deviceId, pushMessage.convType, pushContent);
|
||||
executorService.execute(() ->{
|
||||
try {
|
||||
pushMessageInternel(pushMessage, deviceId, pushContent);
|
||||
|
||||
@@ -2165,6 +2165,25 @@ public class MemoryMessagesStore implements IMessagesStore {
|
||||
return ErrorCode.ERROR_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public FriendData getFriendData(String fromUser, String targetUserId) {
|
||||
HazelcastInstance hzInstance = m_Server.getHazelcastInstance();
|
||||
MultiMap<String, FriendData> friendsMap = hzInstance.getMultiMap(USER_FRIENDS);
|
||||
|
||||
Collection<FriendData> friends = friendsMap.get(fromUser);
|
||||
if (friends == null || friends.size() == 0) {
|
||||
friends = loadFriend(friendsMap, fromUser);
|
||||
}
|
||||
|
||||
for (FriendData fd:friends) {
|
||||
if (fd.getFriendUid().equals(targetUserId)) {
|
||||
return fd;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ErrorCode setFriendAliasRequest(String fromUser, String targetUserId, String alias, long[] heads){
|
||||
HazelcastInstance hzInstance = m_Server.getHazelcastInstance();
|
||||
|
||||
@@ -167,6 +167,7 @@ public interface IMessagesStore {
|
||||
ErrorCode handleFriendRequest(String userId, WFCMessage.HandleFriendRequest request, WFCMessage.Message.Builder msgBuilder, long[] heads, boolean isAdmin);
|
||||
ErrorCode deleteFriend(String userId, String friendUid, long[] head);
|
||||
ErrorCode blackUserRequest(String fromUser, String targetUserId, int status, long[] head);
|
||||
FriendData getFriendData(String fromUser, String targetUserId);
|
||||
ErrorCode SyncFriendRequestUnread(String userId, long unreadDt, long[] head);
|
||||
ErrorCode isAllowUserMessage(String fromUser, String userId);
|
||||
ErrorCode setFriendAliasRequest(String fromUser, String targetUserId, String alias, long[] head);
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.hazelcast.core.HazelcastInstance;
|
||||
import com.hazelcast.util.StringUtil;
|
||||
import cn.wildfirechat.pojos.OutputNotifyChannelSubscribeStatus;
|
||||
import cn.wildfirechat.pojos.SendMessageData;
|
||||
import com.xiaoleilu.loServer.model.FriendData;
|
||||
import io.moquette.persistence.*;
|
||||
import io.moquette.persistence.MemorySessionStore.Session;
|
||||
import io.moquette.server.ConnectionDescriptorStore;
|
||||
@@ -316,11 +317,19 @@ public class MessagesPublisher {
|
||||
boolean isHiddenDetail = m_messagesStore.getUserPushHiddenDetail(user);
|
||||
|
||||
if(!nameLoaded) {
|
||||
senderName = getUserDisplayName(sender);
|
||||
senderName = getUserDisplayName(sender, conversationType == ProtoConstants.ConversationType.ConversationType_Group ? target : null);
|
||||
targetName = getTargetName(target, conversationType);
|
||||
nameLoaded = true;
|
||||
}
|
||||
this.messageSender.sendPush(sender, conversationType, target, line, messageHead, targetSession.getClientID(), pushContent, messageContentType, serverTime, senderName, targetName, targetSession.getUnReceivedMsgs(), curMentionType, isHiddenDetail, targetSession.getLanguage());
|
||||
|
||||
String name = senderName;
|
||||
if (!sender.equals(user)) {
|
||||
FriendData fd = m_messagesStore.getFriendData(user, sender);
|
||||
if (fd != null && !StringUtil.isNullOrEmpty(fd.getAlias())) {
|
||||
name = fd.getAlias();
|
||||
}
|
||||
}
|
||||
this.messageSender.sendPush(sender, conversationType, target, line, messageHead, targetSession.getClientID(), pushContent, messageContentType, serverTime, name, targetName, targetSession.getUnReceivedMsgs(), curMentionType, isHiddenDetail, targetSession.getLanguage());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -356,22 +365,34 @@ public class MessagesPublisher {
|
||||
}
|
||||
}
|
||||
|
||||
String getUserDisplayName(String userId) {
|
||||
String getUserDisplayName(String userId, String groupId) {
|
||||
WFCMessage.User user = m_messagesStore.getUserInfo(userId);
|
||||
String userName = null;
|
||||
if(user != null) {
|
||||
return user.getDisplayName();
|
||||
userName = user.getDisplayName();
|
||||
}
|
||||
return null;
|
||||
if (!StringUtil.isNullOrEmpty(groupId)) {
|
||||
WFCMessage.GroupMember member = m_messagesStore.getGroupMember(groupId, userId);
|
||||
if (member != null && !StringUtil.isNullOrEmpty(member.getAlias())) {
|
||||
userName = member.getAlias();
|
||||
}
|
||||
}
|
||||
return userName;
|
||||
}
|
||||
|
||||
String getTargetName(String targetId, int cnvType) {
|
||||
if (cnvType == ProtoConstants.ConversationType.ConversationType_Private) {
|
||||
return getUserDisplayName(targetId);
|
||||
return getUserDisplayName(targetId, null);
|
||||
} else if(cnvType == ProtoConstants.ConversationType.ConversationType_Group) {
|
||||
WFCMessage.GroupInfo group = m_messagesStore.getGroupInfo(targetId);
|
||||
if(group != null) {
|
||||
return group.getName();
|
||||
}
|
||||
} else if(cnvType == ProtoConstants.ConversationType.ConversationType_Channel) {
|
||||
WFCMessage.ChannelInfo channelInfo = m_messagesStore.getChannelInfo(targetId);
|
||||
if (channelInfo != null) {
|
||||
return channelInfo.getName();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user