diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/translation/TranslationInterface.java b/ruoyi-common/src/main/java/com/ruoyi/common/translation/TranslationInterface.java index 4d59d7ec8..91af97cae 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/translation/TranslationInterface.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/translation/TranslationInterface.java @@ -5,7 +5,7 @@ package com.ruoyi.common.translation; * * @author Lion Li */ -public interface TranslationInterface { +public interface TranslationInterface { /** * 翻译 @@ -13,5 +13,5 @@ public interface TranslationInterface { * @param key 需要被翻译的键(不为空) * @return 返回键对应的值 */ - String translation(Object key, String other); + T translation(Object key, String other); } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/translation/handler/TranslationHandler.java b/ruoyi-common/src/main/java/com/ruoyi/common/translation/handler/TranslationHandler.java index f6daa50c5..ede720675 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/translation/handler/TranslationHandler.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/translation/handler/TranslationHandler.java @@ -29,13 +29,13 @@ public class TranslationHandler extends JsonSerializer implements Contex /** * 全局翻译实现类映射器 */ - public static final Map TRANSLATION_MAPPER = new ConcurrentHashMap<>(); + public static final Map> TRANSLATION_MAPPER = new ConcurrentHashMap<>(); private Translation translation; @Override public void serialize(Object value, JsonGenerator gen, SerializerProvider serializers) throws IOException { - TranslationInterface trans = TRANSLATION_MAPPER.get(translation.type()); + TranslationInterface trans = TRANSLATION_MAPPER.get(translation.type()); if (ObjectUtil.isNotNull(trans)) { // 如果映射字段不为空 则取映射字段的值 if (StringUtils.isNotBlank(translation.mapper())) { @@ -46,8 +46,8 @@ public class TranslationHandler extends JsonSerializer implements Contex gen.writeNull(); return; } - String result = trans.translation(value, translation.other()); - gen.writeString(result); + Object result = trans.translation(value, translation.other()); + gen.writeObject(result); } else { gen.writeObject(value); } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/translation/impl/DeptNameTranslationImpl.java b/ruoyi-common/src/main/java/com/ruoyi/common/translation/impl/DeptNameTranslationImpl.java index ed224381d..69196171b 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/translation/impl/DeptNameTranslationImpl.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/translation/impl/DeptNameTranslationImpl.java @@ -15,7 +15,7 @@ import org.springframework.stereotype.Component; @Component @AllArgsConstructor @TranslationType(type = TransConstant.DEPT_ID_TO_NAME) -public class DeptNameTranslationImpl implements TranslationInterface { +public class DeptNameTranslationImpl implements TranslationInterface { private final DeptService deptService; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/translation/impl/DictTypeTranslationImpl.java b/ruoyi-common/src/main/java/com/ruoyi/common/translation/impl/DictTypeTranslationImpl.java index 3928f7d0c..210312c82 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/translation/impl/DictTypeTranslationImpl.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/translation/impl/DictTypeTranslationImpl.java @@ -16,7 +16,7 @@ import org.springframework.stereotype.Component; @Component @AllArgsConstructor @TranslationType(type = TransConstant.DICT_TYPE_TO_LABEL) -public class DictTypeTranslationImpl implements TranslationInterface { +public class DictTypeTranslationImpl implements TranslationInterface { private final DictService dictService; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/translation/impl/OssUrlTranslationImpl.java b/ruoyi-common/src/main/java/com/ruoyi/common/translation/impl/OssUrlTranslationImpl.java index 8b5aa7b3f..69ebd9afe 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/translation/impl/OssUrlTranslationImpl.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/translation/impl/OssUrlTranslationImpl.java @@ -15,7 +15,7 @@ import org.springframework.stereotype.Component; @Component @AllArgsConstructor @TranslationType(type = TransConstant.OSS_ID_TO_URL) -public class OssUrlTranslationImpl implements TranslationInterface { +public class OssUrlTranslationImpl implements TranslationInterface { private final OssService ossService; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/translation/impl/UserNameTranslationImpl.java b/ruoyi-common/src/main/java/com/ruoyi/common/translation/impl/UserNameTranslationImpl.java index bda39b146..36fd6c399 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/translation/impl/UserNameTranslationImpl.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/translation/impl/UserNameTranslationImpl.java @@ -15,7 +15,7 @@ import org.springframework.stereotype.Component; @Component @AllArgsConstructor @TranslationType(type = TransConstant.USER_ID_TO_NAME) -public class UserNameTranslationImpl implements TranslationInterface { +public class UserNameTranslationImpl implements TranslationInterface { private final UserService userService; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/TranslationConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/TranslationConfig.java index ebed362d3..c68bf6073 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/TranslationConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/TranslationConfig.java @@ -24,15 +24,15 @@ import java.util.Map; public class TranslationConfig { @Autowired - private List list; + private List> list; @Autowired private ObjectMapper objectMapper; @PostConstruct public void init() { - Map map = new HashMap<>(list.size()); - for (TranslationInterface trans : list) { + Map> map = new HashMap<>(list.size()); + for (TranslationInterface trans : list) { if (trans.getClass().isAnnotationPresent(TranslationType.class)) { TranslationType annotation = trans.getClass().getAnnotation(TranslationType.class); map.put(annotation.type(), trans);