修改配置,增加如下功能
1,添加黑名单处理策略,发送失败或者忽略掉对方。 2,添加好友再次请求的时间间隔配置和好友请求被拒绝后再次请求的时间间隔配置
This commit is contained in:
@@ -119,6 +119,8 @@ public class MemoryMessagesStore implements IMessagesStore {
|
||||
private ConcurrentHashMap<String, Boolean> userPushHiddenDetail = new ConcurrentHashMap<>();
|
||||
private ConcurrentHashMap<String, Boolean> userConvSlientMap = new ConcurrentHashMap<>();
|
||||
|
||||
private long mFriendRequestDuration = 7 * 24 * 60 * 60 * 1000;
|
||||
private long mFriendRejectDuration = 30 * 24 * 60 * 60 * 1000;
|
||||
private boolean mDisableStrangerChat = false;
|
||||
|
||||
MemoryMessagesStore(Server server, DatabaseStore databaseStore) {
|
||||
@@ -133,6 +135,18 @@ public class MemoryMessagesStore implements IMessagesStore {
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
try {
|
||||
mFriendRequestDuration = Long.parseLong(Server.getConfig().getProperty(FRIEND_Repeat_Request_Duration));
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
try {
|
||||
mFriendRejectDuration = Long.parseLong(Server.getConfig().getProperty(FRIEND_Reject_Request_Duration));
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -188,12 +202,24 @@ public class MemoryMessagesStore implements IMessagesStore {
|
||||
|
||||
|
||||
@Override
|
||||
public int getNotifyReceivers(String fromUser, WFCMessage.Message.Builder messageBuilder, Set<String> notifyReceivers) {
|
||||
public int getNotifyReceivers(String fromUser, WFCMessage.Message.Builder messageBuilder, Set<String> notifyReceivers, boolean ignoreMsg) {
|
||||
WFCMessage.Message message = messageBuilder.build();
|
||||
HazelcastInstance hzInstance = m_Server.getHazelcastInstance();
|
||||
int type = message.getConversation().getType();
|
||||
int pullType = ProtoConstants.PullType.Pull_Normal;
|
||||
|
||||
if (ignoreMsg) {
|
||||
if (type == ProtoConstants.ConversationType.ConversationType_ChatRoom) {
|
||||
pullType = ProtoConstants.PullType.Pull_ChatRoom;
|
||||
}
|
||||
|
||||
if (message.getContent().getPersistFlag() != Transparent) {
|
||||
notifyReceivers.add(fromUser);
|
||||
}
|
||||
return pullType;
|
||||
}
|
||||
|
||||
|
||||
int pullType = 0;
|
||||
if (type == ProtoConstants.ConversationType.ConversationType_Private) {
|
||||
notifyReceivers.add(fromUser);
|
||||
notifyReceivers.add(message.getConversation().getTarget());
|
||||
@@ -1840,9 +1866,9 @@ public class MemoryMessagesStore implements IMessagesStore {
|
||||
}
|
||||
|
||||
if (existRequest != null && existRequest.getStatus() != ProtoConstants.FriendRequestStatus.RequestStatus_Accepted) {
|
||||
if (System.currentTimeMillis() - existRequest.getUpdateDt() > 7 * 24 * 60 * 60 * 1000) {
|
||||
if (System.currentTimeMillis() - existRequest.getUpdateDt() > mFriendRequestDuration) {
|
||||
if (existRequest.getStatus() == ProtoConstants.FriendRequestStatus.RequestStatus_Rejected
|
||||
&& System.currentTimeMillis() - existRequest.getUpdateDt() < 30 * 24 * 60 * 60 * 1000) {
|
||||
&& System.currentTimeMillis() - existRequest.getUpdateDt() < mFriendRejectDuration) {
|
||||
return ErrorCode.ERROR_CODE_FRIEND_REQUEST_BLOCKED;
|
||||
}
|
||||
} else {
|
||||
@@ -1974,7 +2000,7 @@ public class MemoryMessagesStore implements IMessagesStore {
|
||||
}
|
||||
|
||||
if (existRequest != null) {
|
||||
if (System.currentTimeMillis() - existRequest.getUpdateDt() > 7 * 24 * 60 * 60 * 1000) {
|
||||
if (System.currentTimeMillis() - existRequest.getUpdateDt() > mFriendRequestDuration) {
|
||||
return ErrorCode.ERROR_CODE_FRIEND_REQUEST_OVERTIME;
|
||||
} else {
|
||||
existRequest = existRequest.toBuilder().setStatus(ProtoConstants.FriendRequestStatus.RequestStatus_Accepted).setUpdateDt(System.currentTimeMillis()).build();
|
||||
|
||||
Reference in New Issue
Block a user