From 0d755d2266d0bd67ff420918a2577756fb804662 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90li?=
<15040126243@163.com>
Date: Thu, 2 Feb 2023 22:41:24 +0800
Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E8=BD=AC?=
=?UTF-8?q?=E6=8D=A2=E6=B3=A8=E8=A7=A3=20=E6=94=AF=E6=8C=81=E6=98=A0?=
=?UTF-8?q?=E5=B0=84=E5=B1=9E=E6=80=A7=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../translation/annotation/Translation.java | 7 +++++++
.../translation/config/TranslationConfig.java | 6 ++++++
.../core/handler/TranslationHandler.java | 19 +++++++++----------
.../com/ruoyi/system/domain/bo/SysDeptBo.java | 5 ++++-
.../ruoyi/system/domain/bo/SysDictDataBo.java | 8 ++++----
.../ruoyi/system/domain/bo/SysDictTypeBo.java | 13 +++++--------
.../com/ruoyi/system/domain/bo/SysMenuBo.java | 8 +++-----
.../ruoyi/system/domain/bo/SysNoticeBo.java | 13 ++++++++-----
.../system/domain/bo/SysOssConfigBo.java | 7 +++----
.../com/ruoyi/system/domain/bo/SysPostBo.java | 9 ++++-----
.../ruoyi/system/domain/vo/SysNoticeVo.java | 11 ++++++-----
.../service/impl/SysNoticeServiceImpl.java | 10 ++++++++--
ruoyi-ui/src/views/system/notice/index.vue | 11 ++++++-----
13 files changed, 73 insertions(+), 54 deletions(-)
diff --git a/ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/annotation/Translation.java b/ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/annotation/Translation.java
index 302ef936b..dbb469dce 100644
--- a/ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/annotation/Translation.java
+++ b/ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/annotation/Translation.java
@@ -21,9 +21,16 @@ public @interface Translation {
/**
* 类型 (需与实现类上的 {@link com.ruoyi.common.translation.annotation.TranslationType} 注解type对应)
+ *
+ * 默认取当前字段的值 如果设置了 @{@link Translation#mapper()} 则取映射字段的值
*/
String type();
+ /**
+ * 映射字段 (如果不为空则取此字段的值)
+ */
+ String mapper() default "";
+
/**
* 其他条件 例如: 字典type(sys_user_sex)
*/
diff --git a/ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/config/TranslationConfig.java b/ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/config/TranslationConfig.java
index d589fdde6..bc833d191 100644
--- a/ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/config/TranslationConfig.java
+++ b/ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/config/TranslationConfig.java
@@ -1,5 +1,6 @@
package com.ruoyi.common.translation.config;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.ruoyi.common.translation.annotation.TranslationType;
import com.ruoyi.common.translation.core.TranslationInterface;
import com.ruoyi.common.translation.core.handler.TranslationHandler;
@@ -24,6 +25,9 @@ public class TranslationConfig {
@Autowired
private List list;
+ @Autowired
+ private ObjectMapper objectMapper;
+
@PostConstruct
public void init() {
Map map = new HashMap<>(list.size());
@@ -36,6 +40,8 @@ public class TranslationConfig {
}
}
TranslationHandler.TRANSLATION_MAPPER.putAll(map);
+ // todo null值处理
+// objectMapper.getSerializerProvider().setNullValueSerializer();
}
}
diff --git a/ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/handler/TranslationHandler.java b/ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/handler/TranslationHandler.java
index 922757e3f..0a8f1b357 100644
--- a/ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/handler/TranslationHandler.java
+++ b/ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/handler/TranslationHandler.java
@@ -8,10 +8,10 @@ import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.ContextualSerializer;
import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.core.utils.reflect.ReflectUtils;
import com.ruoyi.common.translation.annotation.Translation;
import com.ruoyi.common.translation.core.TranslationInterface;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.BeansException;
import java.io.IOException;
import java.util.Map;
@@ -35,16 +35,15 @@ public class TranslationHandler extends JsonSerializer