Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
finance-manage
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
finance-oa
finance-manage
Commits
63d471ec
Commit
63d471ec
authored
May 27, 2022
by
RuoYi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复字典导出序列化报错问题
parent
9fa3eac3
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
20 additions
and
44 deletions
+20
-44
ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java
...ommon/src/main/java/com/ruoyi/common/utils/DictUtils.java
+19
-15
ruoyi-framework/src/main/java/com/ruoyi/framework/config/FastJson2JsonRedisSerializer.java
.../ruoyi/framework/config/FastJson2JsonRedisSerializer.java
+0
-18
ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java
...src/main/java/com/ruoyi/framework/config/RedisConfig.java
+0
-10
ruoyi-ui/src/utils/dict/DictMeta.js
ruoyi-ui/src/utils/dict/DictMeta.js
+1
-1
No files found.
ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java
View file @
63d471ec
...
...
@@ -2,6 +2,7 @@ package com.ruoyi.common.utils;
import
java.util.Collection
;
import
java.util.List
;
import
com.alibaba.fastjson2.JSONArray
;
import
com.ruoyi.common.constant.Constants
;
import
com.ruoyi.common.core.domain.entity.SysDictData
;
import
com.ruoyi.common.core.redis.RedisCache
;
...
...
@@ -38,10 +39,10 @@ public class DictUtils
*/
public
static
List
<
SysDictData
>
getDictCache
(
String
key
)
{
Object
cacheObj
=
SpringUtils
.
getBean
(
RedisCache
.
class
).
getCacheObject
(
getCacheKey
(
key
));
if
(
StringUtils
.
isNotNull
(
cacheObj
))
JSONArray
arrayCache
=
SpringUtils
.
getBean
(
RedisCache
.
class
).
getCacheObject
(
getCacheKey
(
key
));
if
(
StringUtils
.
isNotNull
(
arrayCache
))
{
return
StringUtils
.
cast
(
cacheObj
);
return
arrayCache
.
toList
(
SysDictData
.
class
);
}
return
null
;
}
...
...
@@ -83,27 +84,30 @@ public class DictUtils
StringBuilder
propertyString
=
new
StringBuilder
();
List
<
SysDictData
>
datas
=
getDictCache
(
dictType
);
if
(
StringUtils
.
containsAny
(
separator
,
dictValue
)
&&
StringUtils
.
isNotEmpty
(
datas
))
if
(
StringUtils
.
isNotNull
(
datas
))
{
for
(
SysDictData
dict
:
datas
)
if
(
StringUtils
.
containsAny
(
separator
,
dictValue
)
)
{
for
(
S
tring
value
:
dictValue
.
split
(
separator
)
)
for
(
S
ysDictData
dict
:
datas
)
{
if
(
value
.
equals
(
dict
.
getDictValue
()
))
for
(
String
value
:
dictValue
.
split
(
separator
))
{
propertyString
.
append
(
dict
.
getDictLabel
()).
append
(
separator
);
break
;
if
(
value
.
equals
(
dict
.
getDictValue
()))
{
propertyString
.
append
(
dict
.
getDictLabel
()).
append
(
separator
);
break
;
}
}
}
}
}
else
{
for
(
SysDictData
dict
:
datas
)
else
{
if
(
dictValue
.
equals
(
dict
.
getDictValue
())
)
for
(
SysDictData
dict
:
datas
)
{
return
dict
.
getDictLabel
();
if
(
dictValue
.
equals
(
dict
.
getDictValue
()))
{
return
dict
.
getDictLabel
();
}
}
}
}
...
...
ruoyi-framework/src/main/java/com/ruoyi/framework/config/FastJson2JsonRedisSerializer.java
View file @
63d471ec
...
...
@@ -3,13 +3,9 @@ package com.ruoyi.framework.config;
import
java.nio.charset.Charset
;
import
org.springframework.data.redis.serializer.RedisSerializer
;
import
org.springframework.data.redis.serializer.SerializationException
;
import
org.springframework.util.Assert
;
import
com.alibaba.fastjson2.JSON
;
import
com.alibaba.fastjson2.JSONReader
;
import
com.alibaba.fastjson2.JSONWriter
;
import
com.fasterxml.jackson.databind.JavaType
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.fasterxml.jackson.databind.type.TypeFactory
;
/**
* Redis使用FastJson序列化
...
...
@@ -18,9 +14,6 @@ import com.fasterxml.jackson.databind.type.TypeFactory;
*/
public
class
FastJson2JsonRedisSerializer
<
T
>
implements
RedisSerializer
<
T
>
{
@SuppressWarnings
(
"unused"
)
private
ObjectMapper
objectMapper
=
new
ObjectMapper
();
public
static
final
Charset
DEFAULT_CHARSET
=
Charset
.
forName
(
"UTF-8"
);
private
Class
<
T
>
clazz
;
...
...
@@ -52,15 +45,4 @@ public class FastJson2JsonRedisSerializer<T> implements RedisSerializer<T>
return
JSON
.
parseObject
(
str
,
clazz
,
JSONReader
.
Feature
.
SupportAutoType
);
}
public
void
setObjectMapper
(
ObjectMapper
objectMapper
)
{
Assert
.
notNull
(
objectMapper
,
"'objectMapper' must not be null"
);
this
.
objectMapper
=
objectMapper
;
}
protected
JavaType
getJavaType
(
Class
<?>
clazz
)
{
return
TypeFactory
.
defaultInstance
().
constructType
(
clazz
);
}
}
ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java
View file @
63d471ec
...
...
@@ -8,11 +8,6 @@ import org.springframework.data.redis.connection.RedisConnectionFactory;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.script.DefaultRedisScript
;
import
org.springframework.data.redis.serializer.StringRedisSerializer
;
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.jsontype.impl.LaissezFaireSubTypeValidator
;
/**
* redis配置
...
...
@@ -32,11 +27,6 @@ public class RedisConfig extends CachingConfigurerSupport
FastJson2JsonRedisSerializer
serializer
=
new
FastJson2JsonRedisSerializer
(
Object
.
class
);
ObjectMapper
mapper
=
new
ObjectMapper
();
mapper
.
setVisibility
(
PropertyAccessor
.
ALL
,
JsonAutoDetect
.
Visibility
.
ANY
);
mapper
.
activateDefaultTyping
(
LaissezFaireSubTypeValidator
.
instance
,
ObjectMapper
.
DefaultTyping
.
NON_FINAL
,
JsonTypeInfo
.
As
.
PROPERTY
);
serializer
.
setObjectMapper
(
mapper
);
// 使用StringRedisSerializer来序列化和反序列化redis的key值
template
.
setKeySerializer
(
new
StringRedisSerializer
());
template
.
setValueSerializer
(
serializer
);
...
...
ruoyi-ui/src/utils/dict/DictMeta.js
View file @
63d471ec
...
...
@@ -11,7 +11,7 @@ import DictOptions from './DictOptions'
export
default
class
DictMeta
{
constructor
(
options
)
{
this
.
type
=
options
.
type
this
.
request
=
options
.
request
,
this
.
request
=
options
.
request
this
.
responseConverter
=
options
.
responseConverter
this
.
labelField
=
options
.
labelField
this
.
valueField
=
options
.
valueField
...
...
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