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
7312f517
Commit
7312f517
authored
May 17, 2022
by
罗长华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
群主和群管理不受群控制影响
parent
f19303c1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
32 additions
and
24 deletions
+32
-24
core/src/main/java/com/wecloud/im/action/NormalChatAction.java
+32
-24
No files found.
core/src/main/java/com/wecloud/im/action/NormalChatAction.java
View file @
7312f517
...
...
@@ -127,7 +127,7 @@ public class NormalChatAction {
responseModel
.
setCode
(
result
.
getCode
());
responseModel
.
setMsg
(
result
.
getMessage
());
responseModel
.
setReqId
(
reqId
);
channelSender
.
sendMsgLocal
((
NioSocketChannel
)
request
.
getSenderChannel
(),
responseModel
);
channelSender
.
sendMsgLocal
((
NioSocketChannel
)
request
.
getSenderChannel
(),
responseModel
);
return
;
}
// 判断为单聊
...
...
@@ -144,7 +144,7 @@ public class NormalChatAction {
return
;
}
// 消息内容校验
if
(!
checkMsg
(
conversation
,
reqId
,
data
,
request
.
getSenderChannel
()))
{
if
(!
checkMsg
(
imClientSender
,
conversation
,
reqId
,
data
,
request
.
getSenderChannel
()))
{
return
;
}
...
...
@@ -159,7 +159,7 @@ public class NormalChatAction {
if
(
imClientReceiver
==
null
)
{
continue
;
}
if
(
imClientReceiver
.
getId
().
equals
(
imClientSender
.
getId
()))
{
if
(
imClientReceiver
.
getId
().
equals
(
imClientSender
.
getId
()))
{
// 不给自己发
continue
;
}
...
...
@@ -248,7 +248,7 @@ public class NormalChatAction {
responseModel
.
setData
(
new
MsgVo
(
messageId
));
responseModel
.
setReqId
(
reqId
);
// 响应发送方
channelSender
.
sendMsgLocal
((
NioSocketChannel
)
channel
,
responseModel
);
channelSender
.
sendMsgLocal
((
NioSocketChannel
)
channel
,
responseModel
);
}
/**
...
...
@@ -285,7 +285,7 @@ public class NormalChatAction {
private
boolean
black
(
String
reqId
,
ImClient
imClientSender
,
List
<
ImConversationMembers
>
membersList
,
Channel
channel
)
{
String
meClientId
=
imClientSender
.
getClientId
();
String
heClientId
;
if
(
membersList
.
get
(
0
).
getClientId
()
!=
null
&&
membersList
.
get
(
0
).
getClientId
().
equals
(
meClientId
))
{
if
(
membersList
.
get
(
0
).
getClientId
()
!=
null
&&
membersList
.
get
(
0
).
getClientId
().
equals
(
meClientId
))
{
heClientId
=
membersList
.
get
(
1
).
getClientId
();
}
else
{
heClientId
=
membersList
.
get
(
0
).
getClientId
();
...
...
@@ -301,7 +301,7 @@ public class NormalChatAction {
responseModel
.
setCode
(
result
.
getCode
());
responseModel
.
setMsg
(
result
.
getMessage
());
responseModel
.
setReqId
(
reqId
);
channelSender
.
sendMsgLocal
((
NioSocketChannel
)
channel
,
responseModel
);
channelSender
.
sendMsgLocal
((
NioSocketChannel
)
channel
,
responseModel
);
return
true
;
}
...
...
@@ -316,7 +316,7 @@ public class NormalChatAction {
responseModel
.
setCode
(
result
.
getCode
());
responseModel
.
setMsg
(
result
.
getMessage
());
responseModel
.
setReqId
(
reqId
);
channelSender
.
sendMsgLocal
((
NioSocketChannel
)
channel
,
responseModel
);
channelSender
.
sendMsgLocal
((
NioSocketChannel
)
channel
,
responseModel
);
return
true
;
}
return
false
;
...
...
@@ -343,7 +343,7 @@ public class NormalChatAction {
responseModel
.
setCode
(
result
.
getCode
());
responseModel
.
setMsg
(
result
.
getMessage
());
responseModel
.
setReqId
(
reqId
);
channelSender
.
sendMsgLocal
((
NioSocketChannel
)
channel
,
responseModel
);
channelSender
.
sendMsgLocal
((
NioSocketChannel
)
channel
,
responseModel
);
return
true
;
}
return
false
;
...
...
@@ -397,12 +397,19 @@ public class NormalChatAction {
* @Date 2022年04月27日 04:39:04
* @Return
*/
private
boolean
checkMsg
(
ImConversationQueryVo
conversation
,
String
reqId
,
private
boolean
checkMsg
(
ImC
lient
sender
,
ImC
onversationQueryVo
conversation
,
String
reqId
,
ChatContentVo
data
,
Channel
channel
)
{
boolean
result
=
false
;
if
(
imConversationService
.
isBelongToRole
(
sender
.
getClientId
(),
conversation
.
getId
(),
Lists
.
newArrayList
(
GroupRoleEnum
.
OWNER
.
getCode
(),
GroupRoleEnum
.
ADMIN
.
getCode
())))
{
// 当前操作人属于群主或管理人员 - 不做处理
return
true
;
}
String
msgContent
=
data
.
getText
();
// 是否图片
if
(
MsgTypeEnum
.
MEDIA_TYPE_IMAGE
.
getUriCode
()
==
data
.
getType
())
{
if
(
conversation
.
getForbidSendPic
())
{
// 响应发送方
WsResponse
<
HashMap
<
String
,
Long
>>
responseModel
=
new
WsResponse
<>();
...
...
@@ -415,6 +422,7 @@ public class NormalChatAction {
return
false
;
}
}
if
(
MsgTypeEnum
.
MEDIA_TYPE_TEXT
.
getUriCode
()
==
data
.
getType
())
{
// 判断是否开启禁止发送链接
if
(
conversation
.
getForbidSendLink
())
{
...
...
@@ -424,21 +432,21 @@ public class NormalChatAction {
Pattern
pat
=
Pattern
.
compile
(
regex
);
Matcher
mat
=
pat
.
matcher
(
msgContent
.
trim
());
result
=
mat
.
find
();
}
if
(
result
)
{
log
.
info
(
"群: {}, 已被禁止发送链接"
,
conversation
.
getName
());
// 响应发送方
WsResponse
<
HashMap
<
String
,
Long
>>
responseModel
=
new
WsResponse
<>();
ApiResult
<
Boolean
>
apiResult
=
ApiResult
.
result
(
ApiCode
.
IS_BE_FORBID_SEND_LINK
);
responseModel
.
setCmd
(
WsResponseCmdEnum
.
RES
.
getCmdCode
());
responseModel
.
setCode
(
apiResult
.
getCode
());
responseModel
.
setMsg
(
apiResult
.
getMessage
());
responseModel
.
setReqId
(
reqId
);
channelSender
.
sendMsgLocal
((
NioSocketChannel
)
channel
,
responseModel
);
return
false
;
boolean
result
=
mat
.
find
();
if
(
result
)
{
log
.
info
(
"群: {}, 已被禁止发送链接"
,
conversation
.
getName
());
// 响应发送方
WsResponse
<
HashMap
<
String
,
Long
>>
responseModel
=
new
WsResponse
<>();
ApiResult
<
Boolean
>
apiResult
=
ApiResult
.
result
(
ApiCode
.
IS_BE_FORBID_SEND_LINK
);
responseModel
.
setCmd
(
WsResponseCmdEnum
.
RES
.
getCmdCode
());
responseModel
.
setCode
(
apiResult
.
getCode
());
responseModel
.
setMsg
(
apiResult
.
getMessage
());
responseModel
.
setReqId
(
reqId
);
channelSender
.
sendMsgLocal
((
NioSocketChannel
)
channel
,
responseModel
);
return
false
;
}
}
}
...
...
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