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
99d16939
Commit
99d16939
authored
Jun 09, 2022
by
Shadow
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
去除好友关系判断
parent
1ce211e2
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
0 additions
and
84 deletions
+0
-84
core/src/main/java/com/wecloud/im/action/NormalChatAction.java
+0
-84
No files found.
core/src/main/java/com/wecloud/im/action/NormalChatAction.java
View file @
99d16939
...
...
@@ -18,13 +18,10 @@ import java.util.regex.Pattern;
import
java.util.stream.Collectors
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.google.common.collect.Lists
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
import
com.wecloud.dispatch.common.BaseRequest
;
...
...
@@ -35,7 +32,6 @@ import com.wecloud.im.entity.ImConversationMembers;
import
com.wecloud.im.entity.ImInbox
;
import
com.wecloud.im.entity.ImMessage
;
import
com.wecloud.im.entity.ImMessageOnlineSend
;
import
com.wecloud.im.friend.entity.ImFriend
;
import
com.wecloud.im.friend.service.ImFriendService
;
import
com.wecloud.im.mq.MqSender
;
import
com.wecloud.im.param.ChatContentVo
;
...
...
@@ -43,7 +39,6 @@ import com.wecloud.im.param.ImClientSimpleDto;
import
com.wecloud.im.param.ImConversationQueryVo
;
import
com.wecloud.im.param.MsgVo
;
import
com.wecloud.im.sdk.enums.ChatTypeEnum
;
import
com.wecloud.im.sdk.enums.FriendStateEnum
;
import
com.wecloud.im.sdk.enums.GroupRoleEnum
;
import
com.wecloud.im.sdk.enums.MutedEnum
;
import
com.wecloud.im.service.ImApplicationService
;
...
...
@@ -147,9 +142,6 @@ public class NormalChatAction {
return
;
}
if
(!
friend
(
reqId
,
imClientSender
,
data
.
getToConversation
(),
membersList
,
request
.
getSenderChannel
()))
{
return
;
}
}
if
(
beKickOut
(
reqId
,
imClientSender
,
membersList
,
request
.
getSenderChannel
()))
{
return
;
...
...
@@ -348,82 +340,6 @@ public class NormalChatAction {
}
/**
* 好友判断
* @Author luozh
* @Date 2022年05月18日 07:28:34
* @param
* @Return
*/
private
boolean
friend
(
String
reqId
,
ImClient
imClientSender
,
Long
conversationId
,
List
<
ImConversationMembers
>
membersList
,
Channel
channel
)
{
String
meClientId
=
imClientSender
.
getClientId
();
String
heClientId
;
if
(
membersList
.
get
(
0
).
getClientId
()
!=
null
&&
membersList
.
get
(
0
).
getClientId
().
equals
(
meClientId
))
{
heClientId
=
membersList
.
get
(
1
).
getClientId
();
}
else
{
heClientId
=
membersList
.
get
(
0
).
getClientId
();
}
ImFriend
my
=
friendService
.
getByKey
(
meClientId
,
heClientId
);
ImFriend
friend
=
friendService
.
getByKey
(
heClientId
,
meClientId
);
// 判定是陌生人的几种情况,没有好友申请 or 好友申请未通过 or 我/朋友拒绝了请求 or 我/朋友删除了好友关系
Boolean
isStranger
=
(
my
==
null
||
friend
==
null
)
||
FriendStateEnum
.
UNSURE
.
getCode
().
equals
(
my
.
getState
())
||
FriendStateEnum
.
REJECT
.
getCode
().
equals
(
my
.
getState
())
||
FriendStateEnum
.
REJECT
.
getCode
().
equals
(
friend
.
getState
())
||
FriendStateEnum
.
DEL
.
getCode
().
equals
(
my
.
getState
())
||
FriendStateEnum
.
DEL
.
getCode
().
equals
(
friend
.
getState
());
if
(
isStranger
)
{
// 陌生人限制
String
attributes
=
imClientSender
.
getAttributes
();
boolean
isVip
=
false
;
if
(
StringUtils
.
isNotEmpty
(
attributes
))
{
// 小虎豆独有功能
try
{
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
attributes
);
isVip
=
jsonObject
.
getBoolean
(
"isVip"
);
}
catch
(
Exception
e
)
{
// 没有配置 认为不是vip
}
}
int
sendCount
=
imMessageService
.
count
(
Wrappers
.<
ImMessage
>
lambdaQuery
().
eq
(
ImMessage:
:
getFkConversationId
,
conversationId
).
eq
(
ImMessage:
:
getSender
,
imClientSender
.
getId
()).
between
(
ImMessage:
:
getCreateTime
,
getStartTime
(),
getEndTime
()));
if
(!
isVip
)
{
// 判断消息发送数量
if
(
sendCount
>=
3
)
{
WsResponse
<
HashMap
<
String
,
Long
>>
responseModel
=
new
WsResponse
<>();
responseModel
.
setCmd
(
WsResponseCmdEnum
.
RES
.
getCmdCode
());
responseModel
.
setCode
(
ApiCode
.
MSG_EXCEED_QUANTITY_LIMIT
.
getCode
());
responseModel
.
setMsg
(
"和对方还不是好友,只能发送三条消息"
);
responseModel
.
setReqId
(
reqId
);
channelSender
.
sendMsgLocal
((
NioSocketChannel
)
channel
,
responseModel
);
return
false
;
}
}
else
{
// 判断消息发送数量
if
(
sendCount
>=
30
)
{
WsResponse
<
HashMap
<
String
,
Long
>>
responseModel
=
new
WsResponse
<>();
responseModel
.
setCmd
(
WsResponseCmdEnum
.
RES
.
getCmdCode
());
responseModel
.
setCode
(
ApiCode
.
EXCEED_VIP_QUANTITY_LIMIT
.
getCode
());
responseModel
.
setMsg
(
"和对方还不是好友,只能发送三十条消息"
);
responseModel
.
setReqId
(
reqId
);
channelSender
.
sendMsgLocal
((
NioSocketChannel
)
channel
,
responseModel
);
return
false
;
}
}
return
true
;
}
// 非陌生人
return
true
;
}
/**
* 判断被踢出逻辑
* @param reqId
* @param imClientSender
...
...
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