Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wecloud_im_server
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hewei
wecloud_im_server
Commits
5ba178d5
Commit
5ba178d5
authored
Sep 28, 2022
by
Future
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
系统通知推送
parent
4b9b590f
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
13 deletions
+16
-13
core/src/main/java/com/wecloud/im/action/NormalChatAction.java
+16
-13
No files found.
core/src/main/java/com/wecloud/im/action/NormalChatAction.java
View file @
5ba178d5
...
...
@@ -189,6 +189,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
(
2
));
}
else
{
isPush
=
Boolean
.
FALSE
;
}
// 多线程处理消息下发
for
(
ImConversationMembers
member
:
membersList
)
{
if
(
member
.
getFkClientId
().
equals
(
imClientSender
.
getId
()))
{
...
...
@@ -196,7 +205,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
);
});
}
...
...
@@ -204,20 +213,14 @@ 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
())
{
String
key
=
"push_"
+
member
.
getFkClientId
();
String
value
=
redisUtils
.
getKey
(
key
);
if
(
StringUtils
.
isBlank
(
value
))
{
// 异步推送系统通知消息 2分钟内推一次消息
redisUtils
.
addKey
(
key
,
"1"
,
Duration
.
ofMinutes
(
2
));
PushDTO
pushDTO
=
mqSender
.
buildPushDto
(
push
,
member
.
getFkClientId
(),
member
.
getClientId
(),
imApplication
);
if
(
pushDTO
!=
null
)
{
mqSender
.
orderSend
(
MqConstant
.
Topic
.
IM_ORDER_MSG_TOPIC
,
MqConstant
.
Tag
.
IM_ORDER_MSG_TAG
,
pushDTO
);
}
if
(
isPush
&&
!
sendSuccess
&&
!
member
.
getDoNotDisturb
())
{
// 异步推送系统通知消息 2分钟内推一次消息
PushDTO
pushDTO
=
mqSender
.
buildPushDto
(
push
,
member
.
getFkClientId
(),
member
.
getClientId
(),
imApplication
);
if
(
pushDTO
!=
null
)
{
mqSender
.
orderSend
(
MqConstant
.
Topic
.
IM_ORDER_MSG_TOPIC
,
MqConstant
.
Tag
.
IM_ORDER_MSG_TAG
,
pushDTO
);
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment