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
3808e8b9
Commit
3808e8b9
authored
Sep 30, 2022
by
Future
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ehcache
parent
8aedf9a1
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
43 additions
and
68 deletions
+43
-68
core/src/main/java/com/wecloud/im/action/NormalChatAction.java
+7
-12
core/src/main/java/com/wecloud/im/service/EhcacheService.java
+16
-2
core/src/main/java/com/wecloud/im/service/ImConversationMembersService.java
+0
-18
core/src/main/java/com/wecloud/im/service/ImConversationService.java
+0
-10
core/src/main/java/com/wecloud/im/service/impl/ImConversationMembersServiceImpl.java
+19
-20
core/src/main/java/com/wecloud/im/service/impl/ImConversationServiceImpl.java
+1
-6
No files found.
core/src/main/java/com/wecloud/im/action/NormalChatAction.java
View file @
3808e8b9
package
com
.
wecloud
.
im
.
action
;
package
com
.
wecloud
.
im
.
action
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
import
com.wecloud.dispatch.annotation.ActionMapping
;
...
@@ -116,10 +115,7 @@ public class NormalChatAction {
...
@@ -116,10 +115,7 @@ public class NormalChatAction {
// 给所有人(在线+离线)遍历发送
// 给所有人(在线+离线)遍历发送
// 先查询该会话所有成员
// 先查询该会话所有成员
Long
time1
=
System
.
currentTimeMillis
();
Long
time1
=
System
.
currentTimeMillis
();
List
<
ImConversationMembers
>
membersList
=
imConversationMembersService
.
list
(
List
<
ImConversationMembers
>
membersList
=
ehcacheService
.
getEhCacheMember
(
"member"
+
conversation
.
getId
(),
conversation
.
getId
());
new
QueryWrapper
<
ImConversationMembers
>().
lambda
()
.
eq
(
ImConversationMembers:
:
getFkConversationId
,
data
.
getToConversation
())
);
log
.
info
(
"获取群成员列表耗时 {}"
,
System
.
currentTimeMillis
()
-
time1
);
log
.
info
(
"获取群成员列表耗时 {}"
,
System
.
currentTimeMillis
()
-
time1
);
if
(
membersList
.
isEmpty
())
{
if
(
membersList
.
isEmpty
())
{
log
.
info
(
"查询会话所有成员返回空,会话ID: {}"
,
data
.
getToConversation
());
log
.
info
(
"查询会话所有成员返回空,会话ID: {}"
,
data
.
getToConversation
());
...
@@ -149,10 +145,10 @@ public class NormalChatAction {
...
@@ -149,10 +145,10 @@ public class NormalChatAction {
if
(
beKickOut
(
reqId
,
imClientSender
,
membersList
,
request
.
getSenderChannel
()))
{
if
(
beKickOut
(
reqId
,
imClientSender
,
membersList
,
request
.
getSenderChannel
()))
{
return
;
return
;
}
}
if
(
muted
(
conversation
,
reqId
,
imClientSender
,
member
sList
,
member
Map
,
request
.
getSenderChannel
()))
{
if
(
muted
(
conversation
,
reqId
,
imClientSender
,
memberMap
,
request
.
getSenderChannel
()))
{
return
;
return
;
}
}
if
(
baned
(
conversation
,
reqId
,
imClientSender
,
membersList
,
request
.
getSenderChannel
()))
{
if
(
baned
(
conversation
,
reqId
,
request
.
getSenderChannel
()))
{
return
;
return
;
}
}
}
}
...
@@ -497,11 +493,10 @@ public class NormalChatAction {
...
@@ -497,11 +493,10 @@ public class NormalChatAction {
* @param conversation
* @param conversation
* @param reqId
* @param reqId
* @param imClientSender
* @param imClientSender
* @param membersList
* @param channel
* @param channel
* @return 是-ture 否-false
* @return 是-ture 否-false
*/
*/
private
boolean
muted
(
ImConversationQueryVo
conversation
,
String
reqId
,
ImClient
imClientSender
,
List
<
ImConversationMembers
>
membersList
,
Map
<
Long
,
ImConversationMembers
>
memberMap
,
Channel
channel
)
{
private
boolean
muted
(
ImConversationQueryVo
conversation
,
String
reqId
,
ImClient
imClientSender
,
Map
<
Long
,
ImConversationMembers
>
memberMap
,
Channel
channel
)
{
Long
senderId
=
imClientSender
.
getId
();
Long
senderId
=
imClientSender
.
getId
();
if
(
Lists
.
newArrayList
(
GroupRoleEnum
.
OWNER
.
getCode
(),
GroupRoleEnum
.
ADMIN
.
getCode
())
if
(
Lists
.
newArrayList
(
GroupRoleEnum
.
OWNER
.
getCode
(),
GroupRoleEnum
.
ADMIN
.
getCode
())
.
contains
(
memberMap
.
get
(
senderId
).
getRole
()))
{
.
contains
(
memberMap
.
get
(
senderId
).
getRole
()))
{
...
@@ -515,8 +510,8 @@ public class NormalChatAction {
...
@@ -515,8 +510,8 @@ public class NormalChatAction {
}
}
if
(
MutedEnum
.
NO
.
getCode
().
equals
(
conversation
.
getMuted
()))
{
if
(
MutedEnum
.
NO
.
getCode
().
equals
(
conversation
.
getMuted
()))
{
// 未设置群禁言 判断自己是否被禁言
// 未设置群禁言 判断自己是否被禁言
List
<
ImConversationMembers
>
self
=
membersList
.
stream
().
filter
(
m
->
senderId
.
equals
(
m
.
getFkClientId
())).
collect
(
Collectors
.
toList
()
);
ImConversationMembers
self
=
memberMap
.
get
(
senderId
);
if
(
CollectionUtils
.
isEmpty
(
self
)
||
MutedEnum
.
YES
.
getCode
().
equals
(
self
.
get
(
0
)
.
getMuted
()))
{
if
(
self
==
null
||
MutedEnum
.
YES
.
getCode
().
equals
(
self
.
getMuted
()))
{
result
=
true
;
result
=
true
;
}
}
}
}
...
@@ -542,7 +537,7 @@ public class NormalChatAction {
...
@@ -542,7 +537,7 @@ public class NormalChatAction {
* @Date 2022年06月06日 01:42:33
* @Date 2022年06月06日 01:42:33
* @Return
* @Return
*/
*/
private
boolean
baned
(
ImConversationQueryVo
conversation
,
String
reqId
,
ImClient
imClientSender
,
List
<
ImConversationMembers
>
membersList
,
Channel
channel
)
{
private
boolean
baned
(
ImConversationQueryVo
conversation
,
String
reqId
,
Channel
channel
)
{
// 会话是否被封禁
// 会话是否被封禁
String
attributes
=
conversation
.
getAttributes
();
String
attributes
=
conversation
.
getAttributes
();
if
(
StringUtils
.
isNotBlank
(
attributes
))
{
if
(
StringUtils
.
isNotBlank
(
attributes
))
{
...
...
core/src/main/java/com/wecloud/im/service/EhcacheService.java
View file @
3808e8b9
package
com
.
wecloud
.
im
.
service
;
package
com
.
wecloud
.
im
.
service
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.wecloud.im.entity.ImApplication
;
import
com.wecloud.im.entity.ImClient
;
import
com.wecloud.im.entity.ImClient
;
import
com.wecloud.im.entity.ImConversationMembers
;
import
com.wecloud.im.param.ImConversationQueryVo
;
import
com.wecloud.im.param.ImConversationQueryVo
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
@@ -13,6 +13,8 @@ import org.springframework.cache.annotation.CacheEvict;
...
@@ -13,6 +13,8 @@ import org.springframework.cache.annotation.CacheEvict;
import
org.springframework.cache.annotation.Cacheable
;
import
org.springframework.cache.annotation.Cacheable
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
/**
* @Author Future
* @Author Future
...
@@ -32,8 +34,12 @@ public class EhcacheService {
...
@@ -32,8 +34,12 @@ public class EhcacheService {
@Autowired
@Autowired
private
CacheManager
cacheManager
;
private
CacheManager
cacheManager
;
@Autowired
private
ImConversationMembersService
imConversationMembersService
;
/**
/**
* 本地缓存中获取
* 本地缓存中获取
*
* @param key
* @param key
* @return
* @return
*/
*/
...
@@ -67,6 +73,14 @@ public class EhcacheService {
...
@@ -67,6 +73,14 @@ public class EhcacheService {
public
void
delEhCacheConversation
(
Long
id
)
{
public
void
delEhCacheConversation
(
Long
id
)
{
}
}
@Cacheable
(
value
=
"business"
,
key
=
"#key"
)
public
List
<
ImConversationMembers
>
getEhCacheMember
(
String
key
,
Long
id
)
{
return
imConversationMembersService
.
list
(
new
QueryWrapper
<
ImConversationMembers
>().
lambda
()
.
eq
(
ImConversationMembers:
:
getFkConversationId
,
id
));
}
@CacheEvict
(
value
=
"business"
,
key
=
"#key"
)
public
void
delEhCacheMember
(
String
key
)
{
}
}
}
core/src/main/java/com/wecloud/im/service/ImConversationMembersService.java
View file @
3808e8b9
...
@@ -62,24 +62,6 @@ public interface ImConversationMembersService extends BaseService<ImConversation
...
@@ -62,24 +62,6 @@ public interface ImConversationMembersService extends BaseService<ImConversation
Boolean
saveOrUpdateAttr
(
ImConversationMemAttrUpdate
imConversationMemAttrUpdate
);
Boolean
saveOrUpdateAttr
(
ImConversationMemAttrUpdate
imConversationMemAttrUpdate
);
/**
/**
* 保存
*
* @param imConversationMembers
* @return
* @throws Exception
*/
boolean
saveImConversationMembers
(
ImConversationMembers
imConversationMembers
)
throws
Exception
;
/**
* 修改
*
* @param imConversationMembers
* @return
* @throws Exception
*/
boolean
updateImConversationMembers
(
ImConversationMembers
imConversationMembers
)
throws
Exception
;
/**
* 删除
* 删除
*
*
* @param id
* @param id
...
...
core/src/main/java/com/wecloud/im/service/ImConversationService.java
View file @
3808e8b9
...
@@ -47,16 +47,6 @@ import com.wecloud.im.vo.ImConversationCreateVo;
...
@@ -47,16 +47,6 @@ import com.wecloud.im.vo.ImConversationCreateVo;
public
interface
ImConversationService
extends
BaseService
<
ImConversation
>
{
public
interface
ImConversationService
extends
BaseService
<
ImConversation
>
{
/**
/**
* 保存
*
* @param imConversation
* @return
* @throws Exception
*/
boolean
saveImConversation
(
ImConversation
imConversation
)
throws
Exception
;
/**
* 创建会话
* 创建会话
*
*
* @param imConversationCreate
* @param imConversationCreate
...
...
core/src/main/java/com/wecloud/im/service/impl/ImConversationMembersServiceImpl.java
View file @
3808e8b9
...
@@ -7,14 +7,26 @@ import com.baomidou.mybatisplus.core.metadata.OrderItem;
...
@@ -7,14 +7,26 @@ import com.baomidou.mybatisplus.core.metadata.OrderItem;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.google.common.collect.Maps
;
import
com.google.common.collect.Maps
;
import
com.wecloud.im.entity.*
;
import
com.wecloud.im.entity.ImApplication
;
import
com.wecloud.im.entity.ImClient
;
import
com.wecloud.im.entity.ImConversation
;
import
com.wecloud.im.entity.ImConversationMembers
;
import
com.wecloud.im.entity.ImMessageOnlineSend
;
import
com.wecloud.im.friend.param.ImFriendApplyParam
;
import
com.wecloud.im.friend.param.ImFriendApplyParam
;
import
com.wecloud.im.friend.service.ImFriendService
;
import
com.wecloud.im.friend.service.ImFriendService
;
import
com.wecloud.im.mapper.ImConversationMapper
;
import
com.wecloud.im.mapper.ImConversationMembersMapper
;
import
com.wecloud.im.mapper.ImConversationMembersMapper
;
import
com.wecloud.im.param.*
;
import
com.wecloud.im.param.ApiImConversationMembersPageParam
;
import
com.wecloud.im.param.ApiImConversationMembersQueryVo
;
import
com.wecloud.im.param.ChatSettingParam
;
import
com.wecloud.im.param.ChatSettingTypeEnum
;
import
com.wecloud.im.param.ImConvMemeClientRemarkNameParam
;
import
com.wecloud.im.param.ImConversationMembersPageParam
;
import
com.wecloud.im.param.ImConversationMembersQueryVo
;
import
com.wecloud.im.param.ListConversationMembersParam
;
import
com.wecloud.im.param.SetAdminsParam
;
import
com.wecloud.im.param.add.ImConversationMemAttrUpdate
;
import
com.wecloud.im.param.add.ImConversationMemAttrUpdate
;
import
com.wecloud.im.service.ContextService
;
import
com.wecloud.im.service.ContextService
;
import
com.wecloud.im.service.EhcacheService
;
import
com.wecloud.im.service.ImClientService
;
import
com.wecloud.im.service.ImClientService
;
import
com.wecloud.im.service.ImConversationMembersService
;
import
com.wecloud.im.service.ImConversationMembersService
;
import
com.wecloud.im.service.ImConversationService
;
import
com.wecloud.im.service.ImConversationService
;
...
@@ -55,9 +67,6 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
...
@@ -55,9 +67,6 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
private
ChannelSender
channelSender
;
private
ChannelSender
channelSender
;
@Autowired
@Autowired
private
ImConversationMapper
imConversationMapper
;
@Autowired
private
ImConversationMembersService
imConversationMembersService
;
private
ImConversationMembersService
imConversationMembersService
;
@Autowired
@Autowired
...
@@ -75,9 +84,11 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
...
@@ -75,9 +84,11 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
@Autowired
@Autowired
private
ImFriendService
imFriendService
;
private
ImFriendService
imFriendService
;
@Autowired
private
EhcacheService
ehcacheService
;
@Override
@Override
public
ApiResult
<
List
<
ApiImConversationMembersQueryVo
>>
getRestApiImConversationMembersList
(
ApiImConversationMembersPageParam
apiImConversationMembersPageParam
,
ImApplication
imApplication
)
{
public
ApiResult
<
List
<
ApiImConversationMembersQueryVo
>>
getRestApiImConversationMembersList
(
ApiImConversationMembersPageParam
apiImConversationMembersPageParam
,
ImApplication
imApplication
)
{
List
<
ApiImConversationMembersQueryVo
>
restApiImConversationMembersList
=
imConversationMembersMapper
.
getRestApiImConversationMembersList
(
apiImConversationMembersPageParam
.
getConversationId
());
List
<
ApiImConversationMembersQueryVo
>
restApiImConversationMembersList
=
imConversationMembersMapper
.
getRestApiImConversationMembersList
(
apiImConversationMembersPageParam
.
getConversationId
());
return
ApiResult
.
ok
(
restApiImConversationMembersList
);
return
ApiResult
.
ok
(
restApiImConversationMembersList
);
}
}
...
@@ -194,19 +205,6 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
...
@@ -194,19 +205,6 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
}
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
saveImConversationMembers
(
ImConversationMembers
imConversationMembers
)
throws
Exception
{
return
super
.
save
(
imConversationMembers
);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
updateImConversationMembers
(
ImConversationMembers
imConversationMembers
)
throws
Exception
{
return
super
.
updateById
(
imConversationMembers
);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
@Override
public
boolean
deleteImConversationMembers
(
Long
id
)
{
public
boolean
deleteImConversationMembers
(
Long
id
)
{
...
@@ -271,6 +269,7 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
...
@@ -271,6 +269,7 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
}
else
if
(
ChatSettingTypeEnum
.
DO_NOT_DISTURB
.
equals
(
type
))
{
}
else
if
(
ChatSettingTypeEnum
.
DO_NOT_DISTURB
.
equals
(
type
))
{
result
=
update
(
Wrappers
.<
ImConversationMembers
>
lambdaUpdate
().
eq
(
ImConversationMembers:
:
getId
,
result
=
update
(
Wrappers
.<
ImConversationMembers
>
lambdaUpdate
().
eq
(
ImConversationMembers:
:
getId
,
conversation
.
getId
()).
set
(
ImConversationMembers:
:
getDoNotDisturb
,
on
));
conversation
.
getId
()).
set
(
ImConversationMembers:
:
getDoNotDisturb
,
on
));
ehcacheService
.
delEhCacheMember
(
"member"
+
conversation
.
getId
());
}
}
return
result
;
return
result
;
}
}
...
...
core/src/main/java/com/wecloud/im/service/impl/ImConversationServiceImpl.java
View file @
3808e8b9
...
@@ -157,12 +157,6 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
...
@@ -157,12 +157,6 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
@Resource
@Resource
private
EhcacheService
ehcacheService
;
private
EhcacheService
ehcacheService
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
saveImConversation
(
ImConversation
imConversation
)
{
return
super
.
save
(
imConversation
);
}
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
ImConversationCreateVo
createImConversation
(
ImConversationCreate
imConversationCreate
)
{
public
ImConversationCreateVo
createImConversation
(
ImConversationCreate
imConversationCreate
)
{
...
@@ -646,6 +640,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
...
@@ -646,6 +640,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
mutedMemberList
.
add
(
saveMutedMember
);
mutedMemberList
.
add
(
saveMutedMember
);
}
}
imConversationMembersService
.
updateBatchById
(
mutedMemberList
);
imConversationMembersService
.
updateBatchById
(
mutedMemberList
);
ehcacheService
.
delEhCacheMember
(
"member"
+
param
.
getConversationId
());
return
true
;
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