From 13b31b2ca2a5f8600002a042b536c9d5529842e3 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 09 三月 2026 19:21:18 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/i18n/I18nResponseBodyAdvice.java |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/common/i18n/I18nResponseBodyAdvice.java b/src/main/java/com/zy/common/i18n/I18nResponseBodyAdvice.java
new file mode 100644
index 0000000..350f08a
--- /dev/null
+++ b/src/main/java/com/zy/common/i18n/I18nResponseBodyAdvice.java
@@ -0,0 +1,37 @@
+package com.zy.common.i18n;
+
+import com.core.common.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.MethodParameter;
+import org.springframework.http.MediaType;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.server.ServerHttpRequest;
+import org.springframework.http.server.ServerHttpResponse;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
+
+@RestControllerAdvice
+public class I18nResponseBodyAdvice implements ResponseBodyAdvice<Object> {
+
+    @Autowired
+    private I18nMessageService i18nMessageService;
+
+    @Override
+    public boolean supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType) {
+        return true;
+    }
+
+    @Override
+    public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType,
+                                  Class<? extends HttpMessageConverter<?>> selectedConverterType,
+                                  ServerHttpRequest request, ServerHttpResponse response) {
+        if (body instanceof R) {
+            R result = (R) body;
+            Object msg = result.get("msg");
+            if (msg instanceof String) {
+                result.put("msg", i18nMessageService.translateLegacy((String) msg));
+            }
+        }
+        return body;
+    }
+}

--
Gitblit v1.9.1