From 32f37cd08ef0a29a61de6347c0a8fc295694f6e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Thu, 9 Apr 2026 18:59:57 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BC=98=E5=8C=96=E3=80=91=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=A4=9A=E8=AF=AD=E8=A8=80=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controller/ControllerBase.java | 21 ++++++++++++++ .../admin/controller/MessageController.java | 23 ++++++++++++--- .../admin/controller/TestController.java | 2 +- .../cfs/controller/ControllerBase.java | 22 +++++++++++++++ .../cfs/controller/MessageController.java | 28 +++++++++++++++---- .../common/pojo/vo/AdminMessageVO.java | 12 ++++---- .../common/pojo/vo/AppMessageVO.java | 6 ++-- 7 files changed, 95 insertions(+), 19 deletions(-) diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/ControllerBase.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/ControllerBase.java index 2c3c3ad9..26e42503 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/ControllerBase.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/ControllerBase.java @@ -1,10 +1,31 @@ package com.nflg.mobilebroken.admin.controller; +import cn.hutool.core.util.StrUtil; +import com.nflg.mobilebroken.common.constant.Constant; +import com.nflg.mobilebroken.common.util.MultilingualUtil; +import com.nflg.mobilebroken.starter.service.impl.AliYunTranslate; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; + @Validated @RestController public class ControllerBase { + @Resource + private AliYunTranslate aliYunTranslate; + + protected String translate(String text) { + if (StrUtil.isNotBlank(text)) { + String languageCode = MultilingualUtil.getLanguage(); + if (!StrUtil.equals(languageCode, Constant.DEFAULT_LANGUAGE_CODE)) { + String aliyunCode = Constant.LANGUAGE_ALIYUN_MAP.get(languageCode); + if (StrUtil.isNotBlank(aliyunCode)) { + return aliYunTranslate.translateWord(text, aliyunCode); + } + } + } + return text; + } } \ No newline at end of file diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/MessageController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/MessageController.java index 15e14ece..68e52ce6 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/MessageController.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/MessageController.java @@ -5,15 +5,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.nflg.mobilebroken.admin.annotation.ApiMark; import com.nflg.mobilebroken.common.constant.Constant; import com.nflg.mobilebroken.common.constant.MessageSubType; +import com.nflg.mobilebroken.common.constant.MessageType; import com.nflg.mobilebroken.common.pojo.ApiResult; import com.nflg.mobilebroken.common.pojo.PageData; import com.nflg.mobilebroken.common.pojo.request.AdminMessageSearchRequest; import com.nflg.mobilebroken.common.pojo.request.MessageConfigRequest; -import com.nflg.mobilebroken.common.pojo.vo.AdminMessageVO; -import com.nflg.mobilebroken.common.pojo.vo.AdminNotReadMessageCountVO; -import com.nflg.mobilebroken.common.pojo.vo.MessageConfigVO; -import com.nflg.mobilebroken.common.pojo.vo.TicketNotReadMessageCountVO; +import com.nflg.mobilebroken.common.pojo.vo.*; import com.nflg.mobilebroken.common.util.AdminUserUtil; +import com.nflg.mobilebroken.common.util.MultilingualUtil; import com.nflg.mobilebroken.common.util.PageUtil; import com.nflg.mobilebroken.repository.entity.*; import com.nflg.mobilebroken.repository.service.*; @@ -64,6 +63,9 @@ public class MessageController extends ControllerBase { @Resource private StringRedisTemplate stringRedisTemplate; + @Resource + private IDictionaryItemTranslateService dictionaryItemTranslateService; + /** * 搜索消息 * @param request 请求参数 @@ -73,6 +75,7 @@ public class MessageController extends ControllerBase { @ApiMark(moduleName = "消息管理", apiName = "搜索消息") public ApiResult> searchMessages(@Valid @RequestBody AdminMessageSearchRequest request) { IPage datas = adminMessageService.search(AdminUserUtil.getUserId(), request); + List translates = dictionaryItemTranslateService.getAllByDictionaryCode("Prompt", MultilingualUtil.getLanguage()); return ApiResult.success(PageUtil.convert(datas, d -> { if (Objects.equals(d.getSource(), 0)) { Ticket ticket = ticketService.getById(d.getSourceId()); @@ -115,6 +118,18 @@ public class MessageController extends ControllerBase { } } } + d.setTypeDesc(translates.stream() + .filter(t -> StrUtil.equals(t.getDictionaryItemName(), MessageType.findByValue(d.getType()).getDescription())) + .findFirst() + .map(DictionaryItemTranslateVO::getValue) + .orElse(MessageType.findByValue(d.getType()).getDescription()) + ); + d.setSubTypeDesc(translates.stream() + .filter(t -> StrUtil.equals(t.getDictionaryItemName(), MessageSubType.findByValue(d.getSubType()).getDescription())) + .findFirst() + .map(DictionaryItemTranslateVO::getValue) + .orElse(MessageSubType.findByValue(d.getSubType()).getDescription()) + ); return d; })); } diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TestController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TestController.java index 18d43aaa..8541fe30 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TestController.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TestController.java @@ -58,7 +58,7 @@ public class TestController extends ControllerBase { * @return 翻译结果 */ @PostMapping("translate") - public ApiResult translate(@RequestBody String text) { + public ApiResult translateText(@RequestBody String text) { return ApiResult.success(translate.translateWord(text, "auto", "ja", "html")); } diff --git a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/ControllerBase.java b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/ControllerBase.java index 7920106e..b6a7e4f6 100644 --- a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/ControllerBase.java +++ b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/ControllerBase.java @@ -1,10 +1,32 @@ package com.nflg.mobilebroken.cfs.controller; +import cn.hutool.core.util.StrUtil; +import com.nflg.mobilebroken.common.constant.Constant; +import com.nflg.mobilebroken.common.util.MultilingualUtil; +import com.nflg.mobilebroken.starter.service.impl.AliYunTranslate; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import java.io.Console; + @Validated @RestController public class ControllerBase { + @Resource + private AliYunTranslate aliYunTranslate; + + protected String translate(String text) { + if (StrUtil.isNotBlank(text)) { + String languageCode = MultilingualUtil.getLanguage(); + if (!StrUtil.equals(languageCode, Constant.DEFAULT_LANGUAGE_CODE)) { + String aliyunCode = Constant.LANGUAGE_ALIYUN_MAP.get(languageCode); + if (StrUtil.isNotBlank(aliyunCode)) { + return aliYunTranslate.translateWord(text, aliyunCode); + } + } + } + return text; + } } \ No newline at end of file diff --git a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/MessageController.java b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/MessageController.java index 1f182570..71c279dd 100644 --- a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/MessageController.java +++ b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/MessageController.java @@ -1,18 +1,21 @@ package com.nflg.mobilebroken.cfs.controller; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.nflg.mobilebroken.common.constant.Constant; import com.nflg.mobilebroken.common.constant.MessageSubType; import com.nflg.mobilebroken.common.pojo.ApiResult; import com.nflg.mobilebroken.common.pojo.PageData; import com.nflg.mobilebroken.common.pojo.request.AppMessageSearchRequest; import com.nflg.mobilebroken.common.pojo.request.MessageConfigRequest; -import com.nflg.mobilebroken.common.pojo.vo.AppMessageVO; -import com.nflg.mobilebroken.common.pojo.vo.AppNotReadMessageCountVO; -import com.nflg.mobilebroken.common.pojo.vo.MessageConfigVO; -import com.nflg.mobilebroken.common.pojo.vo.TicketNotReadMessageCountVO; +import com.nflg.mobilebroken.common.pojo.vo.*; import com.nflg.mobilebroken.common.util.AppUserUtil; +import com.nflg.mobilebroken.common.util.MultilingualUtil; import com.nflg.mobilebroken.repository.entity.AppMessage; import com.nflg.mobilebroken.repository.service.IAppMessageService; +import com.nflg.mobilebroken.repository.service.IDictionaryItemService; +import com.nflg.mobilebroken.repository.service.IDictionaryItemTranslateService; import org.springframework.data.redis.core.HashOperations; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate; @@ -45,6 +48,9 @@ public class MessageController extends ControllerBase { @Resource private StringRedisTemplate stringRedisTemplate; + @Resource + private IDictionaryItemTranslateService dictionaryItemTranslateService; + /** * 搜索消息 * @param request 请求参数 @@ -52,7 +58,19 @@ public class MessageController extends ControllerBase { */ @PostMapping("searchMessages") public ApiResult> searchMessages(@RequestBody AppMessageSearchRequest request) { - return ApiResult.success(appMessageService.search(AppUserUtil.getUserId(), AppUserUtil.getFrom(), request)); + IPage page = appMessageService.search(AppUserUtil.getUserId(), AppUserUtil.getFrom(), request); + if (CollectionUtil.isNotEmpty(page.getRecords())) { + List translates = dictionaryItemTranslateService.getAllByDictionaryCode("Prompt", MultilingualUtil.getLanguage()); + page.getRecords().forEach(r -> { + r.setContent(translates.stream() + .filter(t -> StrUtil.equals(t.getDictionaryItemName(), MessageSubType.findByValue(r.getSubType()).getDescription())) + .findFirst() + .map(DictionaryItemTranslateVO::getValue) + .orElse(MessageSubType.findByValue(r.getSubType()).getDescription()) + ); + }); + } + return ApiResult.success(page); } /** diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminMessageVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminMessageVO.java index 93724f9a..fc6fe232 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminMessageVO.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminMessageVO.java @@ -36,9 +36,9 @@ public class AdminMessageVO { //任务事项描述 private String subTypeDesc; - public String getSubTypeDesc() { - return MessageSubType.findByValue(subType).getDescription(); - } +// public String getSubTypeDesc() { +// return MessageSubType.findByValue(subType).getDescription(); +// } /** * 任务类别 @@ -49,9 +49,9 @@ public class AdminMessageVO { //任务类别描述 private String typeDesc; - public String getTypeDesc() { - return MessageType.findByValue(type).getDescription(); - } +// public String getTypeDesc() { +// return MessageType.findByValue(type).getDescription(); +// } //提交人 private String sourceCreateUserName; diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppMessageVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppMessageVO.java index ab4a4c4a..358d95e7 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppMessageVO.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppMessageVO.java @@ -27,9 +27,9 @@ public class AppMessageVO { //任务事项描述 private String content; - public String getContent() { - return MessageSubType.findByValue(subType).getDescription(); - } +// public String getContent() { +// return MessageSubType.findByValue(subType).getDescription(); +// } //消息时间 private LocalDateTime createTime;