From 0d755d2266d0bd67ff420918a2577756fb804662 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期四, 02 二月 2023 22:41:24 +0800 Subject: [PATCH] update 优化 转换注解 支持映射属性功能 --- ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/handler/TranslationHandler.java | 19 +++++++++---------- 1 files changed, 9 insertions(+), 10 deletions(-) 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 922757e..0a8f1b3 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.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 @@ @Override public void serialize(Object value, JsonGenerator gen, SerializerProvider serializers) throws IOException { - try { - TranslationInterface trans = TRANSLATION_MAPPER.get(translation.type()); - if (ObjectUtil.isNotNull(trans)) { - String result = trans.translation(value, translation.other()); - gen.writeString(StringUtils.isNotBlank(result) ? result : value.toString()); - } else { - gen.writeString(value.toString()); + TranslationInterface trans = TRANSLATION_MAPPER.get(translation.type()); + if (ObjectUtil.isNotNull(trans)) { + // 濡傛灉鏄犲皠瀛楁涓嶄负绌� 鍒欏彇鏄犲皠瀛楁鐨勫�� + if (StringUtils.isNotBlank(translation.mapper())) { + value = ReflectUtils.invokeGetter(gen.getCurrentValue(), translation.mapper()); } - } catch (BeansException e) { - log.error("鏁版嵁鏈煡鍒�, 閲囩敤榛樿澶勭悊 => {}", e.getMessage()); + String result = trans.translation(value, translation.other()); + gen.writeString(StringUtils.isNotBlank(result) ? result : value.toString()); + } else { gen.writeString(value.toString()); } } -- Gitblit v1.9.3