Commit b7a5b582 by Future

发消息优化

parent 7d2e8465
...@@ -186,15 +186,15 @@ public class NormalChatAction { ...@@ -186,15 +186,15 @@ public class NormalChatAction {
imConversationMembersService.updateBatchById(tempMemberToUpdate); imConversationMembersService.updateBatchById(tempMemberToUpdate);
} }
} }
// String key = "push_" + conversation.getId(); String key = "push_" + conversation.getId();
// String value = redisUtils.getKey(key); String value = redisUtils.getKey(key);
// final Boolean isPush; final Boolean isPush;
// if (StringUtils.isBlank(value)) { if (StringUtils.isBlank(value)) {
// isPush = Boolean.TRUE; isPush = Boolean.TRUE;
// redisUtils.addKey(key, "1", Duration.ofMinutes(5)); redisUtils.addKey(key, "1", Duration.ofMinutes(5));
// } else { } else {
// isPush = Boolean.FALSE; isPush = Boolean.FALSE;
// } }
// 多线程处理消息下发 // 多线程处理消息下发
for (ImConversationMembers member : membersList) { for (ImConversationMembers member : membersList) {
if (member.getFkClientId().equals(imClientSender.getId())) { if (member.getFkClientId().equals(imClientSender.getId())) {
...@@ -202,7 +202,7 @@ public class NormalChatAction { ...@@ -202,7 +202,7 @@ public class NormalChatAction {
continue; continue;
} }
SendMsgThreadPool.SEND_MSG_THREAD_POOL_EXECUTOR.execute(() -> { SendMsgThreadPool.SEND_MSG_THREAD_POOL_EXECUTOR.execute(() -> {
this.sendMsgToMember(imApplication, member, imMessageOnlineSend, data.getPush()); this.sendMsgToMember(imApplication, member, imMessageOnlineSend, data.getPush(), isPush);
}); });
} }
...@@ -210,10 +210,10 @@ public class NormalChatAction { ...@@ -210,10 +210,10 @@ public class NormalChatAction {
response(reqId, imMessageOnlineSend.getMsgId(), request.getSenderChannel()); response(reqId, imMessageOnlineSend.getMsgId(), request.getSenderChannel());
} }
private void sendMsgToMember(ImApplication imApplication, ImConversationMembers member, ImMessageOnlineSend imMessageOnlineSend, PushVO push) { private void sendMsgToMember(ImApplication imApplication, ImConversationMembers member, ImMessageOnlineSend imMessageOnlineSend, PushVO push, Boolean isPush) {
// 在线用户直接发消息 // 在线用户直接发消息
Boolean sendSuccess = sendMsgForOnline(member.getFkClientId(), imMessageOnlineSend); Boolean sendSuccess = sendMsgForOnline(member.getFkClientId(), imMessageOnlineSend);
if (!sendSuccess && !member.getDoNotDisturb()) { if (isPush && !sendSuccess && !member.getDoNotDisturb()) {
// 异步推送系统通知消息 5分钟内推一次消息 // 异步推送系统通知消息 5分钟内推一次消息
PushDTO pushDTO = mqSender.buildPushDto(push, member.getFkClientId(), member.getClientId(), imApplication); PushDTO pushDTO = mqSender.buildPushDto(push, member.getFkClientId(), member.getClientId(), imApplication);
if (pushDTO != null) { if (pushDTO != null) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment