Commit b7a5b582 by Future

发消息优化

parent 7d2e8465
......@@ -186,15 +186,15 @@ public class NormalChatAction {
imConversationMembersService.updateBatchById(tempMemberToUpdate);
}
}
// String key = "push_" + conversation.getId();
// String value = redisUtils.getKey(key);
// final Boolean isPush;
// if (StringUtils.isBlank(value)) {
// isPush = Boolean.TRUE;
// redisUtils.addKey(key, "1", Duration.ofMinutes(5));
// } else {
// isPush = Boolean.FALSE;
// }
String key = "push_" + conversation.getId();
String value = redisUtils.getKey(key);
final Boolean isPush;
if (StringUtils.isBlank(value)) {
isPush = Boolean.TRUE;
redisUtils.addKey(key, "1", Duration.ofMinutes(5));
} else {
isPush = Boolean.FALSE;
}
// 多线程处理消息下发
for (ImConversationMembers member : membersList) {
if (member.getFkClientId().equals(imClientSender.getId())) {
......@@ -202,7 +202,7 @@ public class NormalChatAction {
continue;
}
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 {
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);
if (!sendSuccess && !member.getDoNotDisturb()) {
if (isPush && !sendSuccess && !member.getDoNotDisturb()) {
// 异步推送系统通知消息 5分钟内推一次消息
PushDTO pushDTO = mqSender.buildPushDto(push, member.getFkClientId(), member.getClientId(), imApplication);
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