From 73329e545af1904eed900ff48957192b653daf4b Mon Sep 17 00:00:00 2001 From: Liang <545073804@qq.com> Date: Thu, 18 Apr 2024 11:29:55 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E7=BF=BB=E8=AF=91=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=A4=9A=E5=80=BC=E6=98=A0=E5=B0=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../translation/annotation/Translation.java | 7 +++-- .../core/handler/TranslationHandler.java | 29 +++++++++++++++++-- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/annotation/Translation.java b/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/annotation/Translation.java index c24aa6fa0..020041710 100644 --- a/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/annotation/Translation.java +++ b/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/annotation/Translation.java @@ -2,6 +2,7 @@ package org.dromara.common.translation.annotation; import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import org.dromara.common.translation.core.TranslationInterface; import org.dromara.common.translation.core.handler.TranslationHandler; import java.lang.annotation.*; @@ -27,9 +28,11 @@ public @interface Translation { String type(); /** - * 映射字段 (如果不为空则取此字段的值) + * 映射字段 (如果不为空则取此字段的值,支持多值映射) + *
+ * 多值映射模式下 {@link TranslationInterface#translation(Object key, String other)} 方法的第一个参数 key 类型为 {@link cn.hutool.core.lang.Dict} */ - String mapper() default ""; + String[] mapper() default ""; /** * 其他条件 例如: 字典type(sys_user_sex) diff --git a/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/handler/TranslationHandler.java b/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/handler/TranslationHandler.java index bb9615bfd..5605dced7 100644 --- a/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/handler/TranslationHandler.java +++ b/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/handler/TranslationHandler.java @@ -1,5 +1,7 @@ package org.dromara.common.translation.core.handler; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.lang.Dict; import cn.hutool.core.util.ObjectUtil; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.BeanProperty; @@ -14,6 +16,7 @@ import org.dromara.common.translation.core.TranslationInterface; import lombok.extern.slf4j.Slf4j; import java.io.IOException; +import java.util.List; import java.util.Map; import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; @@ -38,9 +41,21 @@ public class TranslationHandler extends JsonSerializer