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
aa41cc02
Commit
aa41cc02
authored
May 13, 2022
by
罗长华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复报错
parent
80891467
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
22 additions
and
21 deletions
+22
-21
core/src/main/java/com/wecloud/im/post/Couriers.java
+2
-2
core/src/main/java/com/wecloud/im/service/ImConversationService.java
+1
-1
core/src/main/java/com/wecloud/im/service/impl/ImConversationServiceImpl.java
+18
-17
core/src/main/java/com/wecloud/im/service/impl/ImGroupServiceImpl.java
+1
-1
No files found.
core/src/main/java/com/wecloud/im/post/Couriers.java
View file @
aa41cc02
...
...
@@ -37,7 +37,7 @@ public class Couriers {
* @param cmd ws命令类型
* @Return
*/
public
void
deliver
(
ImMessage
message
,
ImClient
sender
,
ImClient
receiver
,
WsResponseCmdEnum
cmd
)
{
public
void
deliver
(
ImMessage
message
,
Object
content
,
ImClient
sender
,
ImClient
receiver
,
WsResponseCmdEnum
cmd
)
{
// 封装响应的实体
ImMessageOnlineSend
imMessageOnlineSend
=
new
ImMessageOnlineSend
();
...
...
@@ -45,7 +45,7 @@ public class Couriers {
imMessageOnlineSend
.
setCreateTime
(
new
Date
());
imMessageOnlineSend
.
setType
(
message
.
getMsgType
());
imMessageOnlineSend
.
setSender
(
sender
.
getClientId
());
imMessageOnlineSend
.
setContent
(
message
.
getContent
()
);
imMessageOnlineSend
.
setContent
(
content
);
imMessageOnlineSend
.
setConversationId
(
message
.
getFkConversationId
());
imMessageOnlineSend
.
setWithdraw
(
message
.
getWithdraw
());
imMessageOnlineSend
.
setEvent
(
message
.
getEvent
());
...
...
core/src/main/java/com/wecloud/im/service/ImConversationService.java
View file @
aa41cc02
...
...
@@ -296,7 +296,7 @@ public interface ImConversationService extends BaseService<ImConversation> {
* @Return
*/
void
sendMsgToMembers
(
ImConversation
conversation
,
List
<
ImConversationMembers
>
membersList
,
ImClient
sender
,
ImMessage
message
);
ImMessage
message
,
Object
content
);
}
core/src/main/java/com/wecloud/im/service/impl/ImConversationServiceImpl.java
View file @
aa41cc02
...
...
@@ -297,7 +297,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
ImMessage
imMessage
=
MessageBuilder
.
buildEventMessage
(
MsgTypeEnum
.
CLIENT_JOIN_NEW_CONVERSATION
,
imApplication
,
createClient
,
imConversation
,
JsonUtils
.
encodeJson
(
content
));
imMessageService
.
save
(
imMessage
);
// 投递消息
couriers
.
deliver
(
imMessage
,
createClient
,
client2
,
WsResponseCmdEnum
.
CONVERSATION_EVENT_MSG
);
couriers
.
deliver
(
imMessage
,
c
ontent
,
c
reateClient
,
client2
,
WsResponseCmdEnum
.
CONVERSATION_EVENT_MSG
);
}
}
ImConversationCreateVo
imConversationCreateVo
=
new
ImConversationCreateVo
();
...
...
@@ -438,7 +438,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
imMessage
.
setFkConversationId
(
imConversation
.
getId
());
imMessageService
.
save
(
imMessage
);
// 投递消息
couriers
.
deliver
(
imMessage
,
creator
,
member
,
WsResponseCmdEnum
.
CONVERSATION_EVENT_MSG
);
couriers
.
deliver
(
imMessage
,
c
ontent
,
c
reator
,
member
,
WsResponseCmdEnum
.
CONVERSATION_EVENT_MSG
);
}
}
ImConversationCreateVo
imConversationCreateVo
=
new
ImConversationCreateVo
();
...
...
@@ -522,9 +522,9 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
ImMessage
imMessage
=
MessageBuilder
.
buildEventMessage
(
MsgTypeEnum
.
INVITE_CLIENT_JOIN_CONVERSATION
,
imApplication
,
createClient
,
imConversation
,
JsonUtils
.
encodeJson
(
content
));
boolean
save
=
imMessageService
.
save
(
imMessage
);
// 发送给在群内的成员
sendMsgToMembers
(
imConversation
,
membersList
,
createClient
,
imMessage
);
sendMsgToMembers
(
imConversation
,
membersList
,
createClient
,
imMessage
,
content
);
// 发送给被邀请人
couriers
.
deliver
(
imMessage
,
createClient
,
clientToConversation
,
WsResponseCmdEnum
.
CONVERSATION_EVENT_MSG
);
couriers
.
deliver
(
imMessage
,
c
ontent
,
c
reateClient
,
clientToConversation
,
WsResponseCmdEnum
.
CONVERSATION_EVENT_MSG
);
}
// 将群成员数量减
...
...
@@ -588,7 +588,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
Long
appId
=
imApplication
.
getId
();
String
sender
=
imClientSender
.
getClientId
();
Integer
msgType
=
imMessage
.
getMsgType
();
sendMsgToMembers
(
imConversation
,
membersList
,
createClient
,
imMessage
);
sendMsgToMembers
(
imConversation
,
membersList
,
createClient
,
imMessage
,
content
);
}
// 将群成员数量减
...
...
@@ -630,7 +630,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
ImMessage
imMessage
=
MessageBuilder
.
buildEventMessage
(
MsgTypeEnum
.
CONVERSATION_DISBAND
,
imApplication
,
currentClient
,
imConversation
,
JsonUtils
.
encodeJson
(
content
));
imMessageService
.
save
(
imMessage
);
sendMsgToMembers
(
imConversation
,
membersList
,
currentClient
,
imMessage
);
sendMsgToMembers
(
imConversation
,
membersList
,
currentClient
,
imMessage
,
content
);
}
/**
...
...
@@ -659,7 +659,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
for
(
ImClient
receiver
:
clientReceivers
)
{
// 投递消息
try
{
couriers
.
deliver
(
imMessage
,
currentClient
,
receiver
,
WsResponseCmdEnum
.
CONVERSATION_EVENT_MSG
);
couriers
.
deliver
(
imMessage
,
c
ontent
,
c
urrentClient
,
receiver
,
WsResponseCmdEnum
.
CONVERSATION_EVENT_MSG
);
}
catch
(
Exception
e
)
{
log
.
info
(
"下发群会话事件失败,事件类型 {} 接收人 {}"
,
imMessage
.
getMsgType
(),
JSON
.
toJSONString
(
receiver
));
}
...
...
@@ -709,7 +709,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
throw
new
BusinessException
(
"退出群聊错误"
);
}
sendMsgToMembers
(
imConversation
,
membersList
,
currentClient
,
imMessage
);
sendMsgToMembers
(
imConversation
,
membersList
,
currentClient
,
imMessage
,
null
);
// 群主退出 转移给下一个人
if
(
GroupRoleEnum
.
OWNER
.
getCode
().
equals
(
members
.
getRole
()))
{
ImConversationMembers
conversationMember
=
membersList
.
get
(
0
);
...
...
@@ -873,7 +873,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
content
.
put
(
"name"
,
imConversation
.
getName
());
// 发送消息至成员
ImMessage
message
=
MessageBuilder
.
buildEventMessage
(
MsgTypeEnum
.
CONVERSATION_NAME_CHANGE
,
imApplication
,
currentClient
,
imConversation
,
""
);
sendMsgToMembers
(
imConversation
,
membersList
,
currentClient
,
message
);
sendMsgToMembers
(
imConversation
,
membersList
,
currentClient
,
message
,
content
);
return
ApiResult
.
ok
();
}
else
{
return
ApiResult
.
fail
();
...
...
@@ -910,7 +910,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
message
.
setWithdraw
(
Boolean
.
FALSE
);
message
.
setEvent
(
Boolean
.
TRUE
);
message
.
setMsgType
(
MsgTypeEnum
.
CONVERSATION_EXPAND_FIELD_CHANGE
.
getUriCode
());
sendMsgToMembers
(
imConversation
,
membersList
,
currentClient
,
message
);
sendMsgToMembers
(
imConversation
,
membersList
,
currentClient
,
message
,
null
);
}
else
{
throw
new
BusinessException
(
"修改错误"
);
}
...
...
@@ -941,7 +941,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
for
(
ImClient
receiver
:
clientReceivers
)
{
// 投递消息
try
{
couriers
.
deliver
(
imMessage
,
currentClient
,
receiver
,
WsResponseCmdEnum
.
CONVERSATION_EVENT_MSG
);
couriers
.
deliver
(
imMessage
,
null
,
currentClient
,
receiver
,
WsResponseCmdEnum
.
CONVERSATION_EVENT_MSG
);
}
catch
(
Exception
e
)
{
log
.
info
(
"下发群会话事件失败,事件类型 {} 接收人 {}"
,
imMessage
.
getMsgType
(),
JSON
.
toJSONString
(
receiver
));
}
...
...
@@ -1167,7 +1167,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
// 查询该会话所有成员
List
<
ImConversationMembers
>
membersList
=
imConversationMembersService
.
list
(
new
QueryWrapper
<
ImConversationMembers
>().
lambda
().
eq
(
ImConversationMembers:
:
getFkAppid
,
currentClient
.
getFkAppid
()).
eq
(
ImConversationMembers:
:
getFkConversationId
,
param
.
getConversationId
()).
ne
(
ImConversationMembers:
:
getFkClientId
,
currentClient
.
getId
()));
ImMessage
message
=
MessageBuilder
.
buildEventMessage
(
MsgTypeEnum
.
CONVERSATION_SET_GROUP_PORTRAIT
,
imApplication
,
currentClient
,
imConversation
,
""
);
sendMsgToMembers
(
imConversation
,
membersList
,
currentClient
,
message
);
sendMsgToMembers
(
imConversation
,
membersList
,
currentClient
,
message
,
null
);
}
else
{
throw
new
BusinessException
(
"修改错误"
);
}
...
...
@@ -1230,7 +1230,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
for
(
ImClient
receiver
:
clientReceivers
)
{
// 投递消息
try
{
couriers
.
deliver
(
imMessage
,
imClientSender
,
receiver
,
WsResponseCmdEnum
.
CONVERSATION_EVENT_MSG
);
couriers
.
deliver
(
imMessage
,
content
,
imClientSender
,
receiver
,
WsResponseCmdEnum
.
CONVERSATION_EVENT_MSG
);
}
catch
(
Exception
e
)
{
log
.
info
(
"下发群会话事件失败,事件类型 {} 接收人 {}"
,
imMessage
.
getMsgType
(),
JSON
.
toJSONString
(
receiver
));
}
...
...
@@ -1279,7 +1279,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
for
(
ImClient
receiver
:
clientReceivers
)
{
// 投递消息
try
{
couriers
.
deliver
(
imMessage
,
currentClient
,
receiver
,
WsResponseCmdEnum
.
CONVERSATION_EVENT_MSG
);
couriers
.
deliver
(
imMessage
,
null
,
currentClient
,
receiver
,
WsResponseCmdEnum
.
CONVERSATION_EVENT_MSG
);
}
catch
(
Exception
e
)
{
log
.
info
(
"下发群会话事件失败,事件类型 {} 接收人 {}"
,
imMessage
.
getMsgType
(),
JSON
.
toJSONString
(
receiver
));
}
...
...
@@ -1423,7 +1423,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
ImMessage
imMessage
=
MessageBuilder
.
buildEventMessage
(
msgType
,
application
,
currentClient
,
conversation
,
JsonUtils
.
encodeJson
(
content
));
imMessageService
.
save
(
imMessage
);
// 发送消息至群成员
sendMsgToMembers
(
conversation
,
membersList
,
currentClient
,
imMessage
);
sendMsgToMembers
(
conversation
,
membersList
,
currentClient
,
imMessage
,
content
);
}
}
...
...
@@ -1438,7 +1438,8 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
* @Date 2022年04月27日 02:11:19
*/
@Override
public
void
sendMsgToMembers
(
ImConversation
conversation
,
List
<
ImConversationMembers
>
membersList
,
ImClient
sender
,
ImMessage
message
)
{
public
void
sendMsgToMembers
(
ImConversation
conversation
,
List
<
ImConversationMembers
>
membersList
,
ImClient
sender
,
ImMessage
message
,
Object
content
)
{
Long
appId
=
conversation
.
getId
();
List
<
Long
>
receiverClientIds
=
membersList
.
stream
().
map
(
ImConversationMembers:
:
getFkClientId
).
collect
(
Collectors
.
toList
());
...
...
@@ -1447,7 +1448,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
for
(
ImClient
receiver
:
clientReceivers
)
{
// 投递消息
try
{
couriers
.
deliver
(
message
,
sender
,
receiver
,
WsResponseCmdEnum
.
CONVERSATION_EVENT_MSG
);
couriers
.
deliver
(
message
,
content
,
sender
,
receiver
,
WsResponseCmdEnum
.
CONVERSATION_EVENT_MSG
);
}
catch
(
Exception
e
)
{
log
.
info
(
"下发群会话事件失败,事件类型 {} 接收人 {}"
,
message
.
getMsgType
(),
JSON
.
toJSONString
(
receiver
));
}
...
...
core/src/main/java/com/wecloud/im/service/impl/ImGroupServiceImpl.java
View file @
aa41cc02
...
...
@@ -150,7 +150,7 @@ public class ImGroupServiceImpl implements ImGroupService {
operator
,
conversation
,
JsonUtils
.
encodeJson
(
content
));
// 保存消息至消息表
imMessageService
.
save
(
imMessage
);
conversationService
.
sendMsgToMembers
(
conversation
,
membersList
,
operator
,
imMessage
);
conversationService
.
sendMsgToMembers
(
conversation
,
membersList
,
operator
,
imMessage
,
content
);
return
true
;
}
...
...
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