From a49ed727b64a7a4ef31276c9b379f742e63f5485 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期六, 18 二月 2023 23:40:57 +0800
Subject: [PATCH] update 优化 翻译组件 支持返回值泛型 支持多种类型数据翻译(例如: 根据主键翻译成对象)

---
 ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/config/TranslationConfig.java |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

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 bc833d1..a9aefe5 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
@@ -3,6 +3,7 @@
 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.TranslationBeanSerializerModifier;
 import com.ruoyi.common.translation.core.handler.TranslationHandler;
 import jakarta.annotation.PostConstruct;
 import lombok.extern.slf4j.Slf4j;
@@ -23,15 +24,15 @@
 public class TranslationConfig {
 
     @Autowired
-    private List<TranslationInterface> list;
+    private List<TranslationInterface<?>> list;
 
     @Autowired
     private ObjectMapper objectMapper;
 
     @PostConstruct
     public void init() {
-        Map<String, TranslationInterface> map = new HashMap<>(list.size());
-        for (TranslationInterface trans : list) {
+        Map<String, TranslationInterface<?>> 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);
@@ -40,8 +41,10 @@
             }
         }
         TranslationHandler.TRANSLATION_MAPPER.putAll(map);
-        // todo null鍊煎鐞�
-//        objectMapper.getSerializerProvider().setNullValueSerializer();
+        // 璁剧疆 Bean 搴忓垪鍖栦慨鏀瑰櫒
+        objectMapper.setSerializerFactory(
+            objectMapper.getSerializerFactory()
+                .withSerializerModifier(new TranslationBeanSerializerModifier()));
     }
 
 }

--
Gitblit v1.9.3