Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
街头小贩
Jforum2
提交
f58faf95
J
Jforum2
项目概览
街头小贩
/
Jforum2
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
1
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
Jforum2
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f58faf95
编写于
9月 13, 2020
作者:
街头小贩
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
改用GenericJackson2JsonRedisSerializer,redis中存储json
上级
7686eba8
变更
7
显示空白变更内容
内联
并排
Showing
7 changed file
with
42 addition
and
23 deletion
+42
-23
core/src/main/java/com/apobates/forum/core/service/BoardGroupService.java
...va/com/apobates/forum/core/service/BoardGroupService.java
+3
-3
core/src/main/java/com/apobates/forum/core/service/BoardService.java
...in/java/com/apobates/forum/core/service/BoardService.java
+1
-1
core/src/main/java/com/apobates/forum/core/service/TopicService.java
...in/java/com/apobates/forum/core/service/TopicService.java
+1
-1
member/src/main/java/com/apobates/forum/member/dao/MemberDao.java
...rc/main/java/com/apobates/forum/member/dao/MemberDao.java
+2
-2
thrones/pom.xml
thrones/pom.xml
+1
-2
thrones/src/main/java/com/apobates/forum/thrones/ThronesAppConfig.java
...ain/java/com/apobates/forum/thrones/ThronesAppConfig.java
+32
-11
utils/src/main/java/com/apobates/forum/utils/persistence/DataRepository.java
.../com/apobates/forum/utils/persistence/DataRepository.java
+2
-3
未找到文件。
core/src/main/java/com/apobates/forum/core/service/BoardGroupService.java
浏览文件 @
f58faf95
...
...
@@ -118,7 +118,7 @@ public interface BoardGroupService {
Optional
<
BoardGroup
>
create
(
String
title
,
String
description
,
String
encodeImageAddr
,
boolean
status
,
int
ranking
);
/**
* 查看指定的版块组(卷)
*
[Cacheable]
查看指定的版块组(卷)
*
* @param id 版块组(卷)ID
* @return
...
...
@@ -153,7 +153,7 @@ public interface BoardGroupService {
Optional
<
Boolean
>
checkOriginDirectNameUnique
(
String
directoryNames
)
throws
IllegalArgumentException
,
IllegalStateException
;
/**
*
//
编辑栏目时检查目录是否被使用
* 编辑栏目时检查目录是否被使用
*
* @since 20200427
* @param directoryNames 栏目的目录名称
...
...
core/src/main/java/com/apobates/forum/core/service/BoardService.java
浏览文件 @
f58faf95
...
...
@@ -281,7 +281,7 @@ public interface BoardService {
Optional
<
Board
>
getTermById
(
long
termId
);
/**
* 查看指定的版块
*
[Cacheable]
查看指定的版块
*
* @param id 版块ID
* @return
...
...
core/src/main/java/com/apobates/forum/core/service/TopicService.java
浏览文件 @
f58faf95
...
...
@@ -530,7 +530,7 @@ public interface TopicService {
List
<
TopicReplica
>
getRecentByUnixStamp
(
long
boardId
,
int
prevUnixStamp
);
/**
* 查看指定的话题
*
[Cacheable]
查看指定的话题
*
* @param id 话题ID
* @return
...
...
member/src/main/java/com/apobates/forum/member/dao/MemberDao.java
浏览文件 @
f58faf95
...
...
@@ -77,12 +77,12 @@ public interface MemberDao {
Optional
<
Member
>
findOneForAdmin
(
String
memberNames
,
String
encryptPswd
);
/**
* 查看指定的会员
*
[Cacheable]
查看指定的会员
*
* @param memberId 会员ID
* @return
*/
Optional
<
Member
>
findOneById
(
long
memberId
);
Member
findOneById
(
long
memberId
);
/**
* 更新会员的状态
...
...
thrones/pom.xml
浏览文件 @
f58faf95
...
...
@@ -312,7 +312,6 @@
<artifactId>
jedis
</artifactId>
<version>
3.3.0
</version>
</dependency>
<!--
<dependency>
<groupId>
com.fasterxml.jackson.datatype
</groupId>
<artifactId>
jackson-datatype-jsr310
</artifactId>
...
...
@@ -322,7 +321,7 @@
<groupId>
com.fasterxml.jackson.datatype
</groupId>
<artifactId>
jackson-datatype-jdk8
</artifactId>
<version>
${jackson.version}
</version>
</dependency>
-->
</dependency>
</dependencies>
<build>
<finalName>
ROOT
</finalName>
...
...
thrones/src/main/java/com/apobates/forum/thrones/ThronesAppConfig.java
浏览文件 @
f58faf95
...
...
@@ -11,6 +11,20 @@ import com.apobates.forum.thrones.event.PostsQuoteNoticeListener;
import
com.apobates.forum.thrones.event.PostsReplyNoticeListener
;
import
com.apobates.forum.thrones.event.TopicMoveNoticeListener
;
import
com.apobates.forum.utils.Commons
;
import
com.fasterxml.jackson.annotation.JsonAutoDetect
;
import
com.fasterxml.jackson.annotation.JsonTypeInfo
;
import
com.fasterxml.jackson.annotation.PropertyAccessor
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.fasterxml.jackson.databind.SerializationFeature
;
import
com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator
;
import
com.fasterxml.jackson.datatype.jdk8.Jdk8Module
;
import
com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
;
import
com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer
;
import
com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer
;
import
com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer
;
import
com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer
;
import
com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer
;
import
com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer
;
import
javax.persistence.EntityManagerFactory
;
import
javax.servlet.Filter
;
import
javax.sql.DataSource
;
...
...
@@ -34,8 +48,13 @@ import org.springframework.orm.jpa.vendor.Database;
import
org.springframework.orm.jpa.vendor.EclipseLinkJpaVendorAdapter
;
import
org.springframework.transaction.annotation.EnableTransactionManagement
;
import
java.time.Duration
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.LocalTime
;
import
java.time.format.DateTimeFormatter
;
import
org.springframework.data.redis.connection.jedis.JedisClientConfiguration
;
import
org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer
;
import
org.springframework.data.redis.serializer.RedisSerializationContext
;
import
org.springframework.data.redis.serializer.StringRedisSerializer
;
import
redis.clients.jedis.JedisPoolConfig
;
/**
...
...
@@ -157,25 +176,26 @@ public class ThronesAppConfig {
}
@Bean
public
RedisTemplate
<
String
,
Object
>
redisTemplate
(
RedisConnectionFactory
cf
)
{
public
RedisTemplate
<
String
,
Object
>
redisTemplate
(
RedisConnectionFactory
cf
,
GenericJackson2JsonRedisSerializer
valuesRedisSerializer
)
{
RedisTemplate
<
String
,
Object
>
redisTemplate
=
new
RedisTemplate
<>();
redisTemplate
.
setConnectionFactory
(
cf
);
redisTemplate
.
setKeySerializer
(
new
StringRedisSerializer
());
redisTemplate
.
setValueSerializer
(
new
GenericJackson2JsonRedisSerializer
()
);
redisTemplate
.
setValueSerializer
(
valuesRedisSerializer
);
redisTemplate
.
setHashKeySerializer
(
new
StringRedisSerializer
());
redisTemplate
.
setHashValueSerializer
(
new
GenericJackson2JsonRedisSerializer
());
redisTemplate
.
setHashValueSerializer
(
valuesRedisSerializer
);
redisTemplate
.
setDefaultSerializer
(
new
GenericJackson2JsonRedisSerializer
());
return
redisTemplate
;
}
@Bean
public
RedisCacheManager
cacheManager
(
RedisConnectionFactory
connectionFactory
)
{
public
RedisCacheManager
cacheManager
(
RedisConnectionFactory
connectionFactory
,
GenericJackson2JsonRedisSerializer
valuesRedisSerializer
)
{
RedisCacheConfiguration
config
=
RedisCacheConfiguration
.
defaultCacheConfig
()
.
entryTtl
(
Duration
.
ofDays
(
1
))
.
disableCachingNullValues
()
;
//
.serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(valuesRedisSerializer));
.
disableCachingNullValues
()
.
serializeValuesWith
(
RedisSerializationContext
.
SerializationPair
.
fromSerializer
(
valuesRedisSerializer
));
return
RedisCacheManager
.
builder
(
connectionFactory
).
cacheDefaults
(
config
).
build
();
}
/*
@Bean
(
"valuesRedisSerializer"
)
public
GenericJackson2JsonRedisSerializer
redisSerializer
(){
JavaTimeModule
jtm
=
new
JavaTimeModule
();
...
...
@@ -186,14 +206,15 @@ public class ThronesAppConfig {
jtm
.
addDeserializer
(
LocalDate
.
class
,
new
LocalDateDeserializer
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
)));
jtm
.
addDeserializer
(
LocalTime
.
class
,
new
LocalTimeDeserializer
(
DateTimeFormatter
.
ofPattern
(
"HH:mm:ss"
)));
ObjectMapper
mapper
=
new
ObjectMapper
()
.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY)
.
setVisibility
(
PropertyAccessor
.
ALL
,
JsonAutoDetect
.
Visibility
.
NONE
)
.
setVisibility
(
PropertyAccessor
.
FIELD
,
JsonAutoDetect
.
Visibility
.
ANY
)
.
registerModule
(
jtm
)
.
registerModule
(
new
Jdk8Module
())
.
findAndRegisterModules
()
.
activateDefaultTyping
(
LaissezFaireSubTypeValidator
.
instance
,
ObjectMapper
.
DefaultTyping
.
NON_FINAL
,
JsonTypeInfo
.
As
.
PROPERTY
)
.
disable
(
SerializationFeature
.
WRITE_DATES_AS_TIMESTAMPS
);
GenericJackson2JsonRedisSerializer j2jrs = new GenericJackson2JsonRedisSerializer(mapper);
return j2jrs;
}*/
return
new
GenericJackson2JsonRedisSerializer
(
mapper
);
}
//
@Bean
(
"tokenParamFilter"
)
public
Filter
requestTokenParameterFilter
()
{
...
...
utils/src/main/java/com/apobates/forum/utils/persistence/DataRepository.java
浏览文件 @
f58faf95
...
...
@@ -24,7 +24,7 @@ public interface DataRepository<T, ID extends Serializable> extends Repository<T
* 查看实体
*
* @param primaryKey 实体主键
* @return
成功返回Result.success(T)
* @return
可能返回null
*/
Optional
<
T
>
findOne
(
ID
primaryKey
);
...
...
@@ -32,8 +32,7 @@ public interface DataRepository<T, ID extends Serializable> extends Repository<T
* 编辑实体
*
* @param updateEntity 实体
* @return
* 成功返回Result.success(true)失败返回Result.success(false)遇到异常返回Result.failure(e)
* @return 成功返回Optional.of(true)
*/
Optional
<
Boolean
>
edit
(
T
updateEntity
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录