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
beb96394
Commit
beb96394
authored
Sep 26, 2022
by
Future
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加缓存
parent
be6d45dd
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
40 additions
and
33 deletions
+40
-33
core/src/main/java/com/wecloud/im/service/impl/ImConversationServiceImpl.java
+40
-33
No files found.
core/src/main/java/com/wecloud/im/service/impl/ImConversationServiceImpl.java
View file @
beb96394
package
com
.
wecloud
.
im
.
service
.
impl
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.enums.BaseEnum
;
import
io.geekidea.springbootplus.framework.common.exception.BusinessException
;
import
io.geekidea.springbootplus.framework.common.service.impl.BaseServiceImpl
;
import
io.geekidea.springbootplus.framework.core.pagination.PageInfo
;
import
io.geekidea.springbootplus.framework.core.pagination.Paging
;
import
io.geekidea.springbootplus.framework.shiro.util.SecurityUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Collection
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cache.annotation.CacheConfig
;
import
org.springframework.cache.annotation.CacheEvict
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
cn.hutool.core.date.DateUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.TypeReference
;
...
...
@@ -100,6 +71,31 @@ import com.wecloud.im.ws.utils.RedisUtils;
import
com.wecloud.imserver.client.model.enums.DeviceTypeEnum
;
import
com.wecloud.utils.JsonUtils
;
import
com.wecloud.utils.SnowflakeUtil
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.enums.BaseEnum
;
import
io.geekidea.springbootplus.framework.common.exception.BusinessException
;
import
io.geekidea.springbootplus.framework.common.service.impl.BaseServiceImpl
;
import
io.geekidea.springbootplus.framework.core.pagination.PageInfo
;
import
io.geekidea.springbootplus.framework.core.pagination.Paging
;
import
io.geekidea.springbootplus.framework.shiro.util.SecurityUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.time.Duration
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Collection
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
static
cn
.
hutool
.
core
.
date
.
DatePattern
.
CHINESE_DATE_PATTERN
;
import
static
com
.
wecloud
.
im
.
ws
.
enums
.
MsgTypeEnum
.
CONVERSATION_FORBID_ADD_FRIEND
;
...
...
@@ -121,7 +117,6 @@ import static com.wecloud.im.ws.enums.MsgTypeEnum.CONVERSATION_SET_GROUP_PORTRAI
*/
@Slf4j
@Service
@CacheConfig
(
cacheNames
=
"convstn"
)
public
class
ImConversationServiceImpl
extends
BaseServiceImpl
<
ImConversationMapper
,
ImConversation
>
implements
ImConversationService
{
@Autowired
...
...
@@ -154,6 +149,9 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
@Autowired
private
ImApplicationService
applicationService
;
@Autowired
private
RedisUtils
redisUtils
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
saveImConversation
(
ImConversation
imConversation
)
{
...
...
@@ -794,14 +792,23 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
}
@Override
// @Cacheable(key = "#p0")
public
ImConversationQueryVo
getCacheImConversationById
(
Long
id
)
{
return
imConversationMapper
.
getImConversationById
(
id
);
String
key
=
"conversationId_"
+
id
;
String
conversationStr
=
redisUtils
.
getKey
(
key
);
if
(
StringUtils
.
isNotBlank
(
conversationStr
))
{
return
JsonUtils
.
decodeJson
(
conversationStr
,
ImConversationQueryVo
.
class
);
}
ImConversationQueryVo
queryVo
=
imConversationMapper
.
getImConversationById
(
id
);
if
(
queryVo
==
null
)
{
return
null
;
}
redisUtils
.
addKey
(
key
,
JsonUtils
.
encodeJson
(
queryVo
),
Duration
.
ofHours
(
1
));
return
queryVo
;
}
@Override
@CacheEvict
(
key
=
"#p0"
)
public
void
deleteCacheImConversationById
(
Long
id
)
{
redisUtils
.
delKey
(
"conversationId_"
+
id
);
}
@Override
...
...
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