From e1103eba02f8d665347a4be8a50f4b2d99f51428 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=B7=A1=E5=BF=98=E4=B8=80=E5=88=87?= <7990497@qq.com> Date: Thu, 16 Nov 2023 10:19:07 +0800 Subject: [PATCH] =?UTF-8?q?Finish=20Task=20#4531=20Cost:4h=C2=A0=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=A4=8D=E5=88=B6=E5=90=88=E5=90=8C=E5=BC=80?= =?UTF-8?q?=E7=A5=A8=E5=8D=95=E4=BD=8D=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/InternationalController.java | 21 +++++++++---------- .../core/service/InternationalService.java | 4 ++-- .../impl/InternationalServiceImpl.java | 14 ++++++++++--- 3 files changed, 23 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/blueland/common/core/controller/InternationalController.java b/src/main/java/com/blueland/common/core/controller/InternationalController.java index ff7d8fa..891b794 100644 --- a/src/main/java/com/blueland/common/core/controller/InternationalController.java +++ b/src/main/java/com/blueland/common/core/controller/InternationalController.java @@ -1,6 +1,7 @@ package com.blueland.common.core.controller; import com.blueland.common.core.domain.International; +import com.blueland.common.core.utils.UserUtils; import com.mybatisflex.core.paginate.Page; import io.swagger.annotations.*; import com.blueland.common.core.result.AjaxResult; @@ -112,25 +113,23 @@ public class InternationalController { } /** - * 一键复制 + * 一键翻译 * * @param targetLang 目标语言 * @param sourceLang 源语言 * @return {@link AjaxResult}<{@link Boolean}> */ - @GetMapping("/copy") - @ApiOperation(value = "一键复制", notes = "例如:数据库只有中文,要翻译成英文") + @GetMapping("/translate") + @ApiOperation(value = "一键翻译") @ApiImplicitParams( { - @ApiImplicitParam(name = "tenantId", value = "租户id", dataType = "String", paramType = "query", required = false), @ApiImplicitParam(name = "targetLang", value = "目标语言", dataType = "String", paramType = "query", required = true), @ApiImplicitParam(name = "sourceLang", value = "源语言", dataType = "String", paramType = "query", required = true) } ) - public AjaxResult copy(@RequestParam("targetLang") String targetLang, - @RequestParam("sourceLang") String sourceLang, - @RequestParam(value = "tenantId", required = false) String tenantId) { - return AjaxResult.operates(internationalService.copy(targetLang, sourceLang, tenantId)); + public AjaxResult translate(@RequestParam("targetLang") String targetLang, + @RequestParam("sourceLang") String sourceLang) { + return AjaxResult.operates(internationalService.translate(targetLang, sourceLang, UserUtils.getTenantId())); } @GetMapping("/dowloadTemplate") @@ -154,7 +153,7 @@ public class InternationalController { * @param sourceLang 源语言 * @return {@link AjaxResult}<{@link Boolean}> */ - @GetMapping("/tenantIdCopy") + @GetMapping("/tenantIdTranslate") @ApiOperation(value = "一键复制(从其他租户复制)", notes = "例如:bio里面有en语言包,现在要复制到AHI里面") @ApiImplicitParams( { @@ -162,9 +161,9 @@ public class InternationalController { @ApiImplicitParam(name = "sourceLang", value = "源语言", dataType = "String", paramType = "query", required = true) } ) - public AjaxResult tenantIdCopy(@RequestParam("sourceLang") String sourceLang, + public AjaxResult tenantIdTranslate(@RequestParam("sourceLang") String sourceLang, String tenantId) { - return AjaxResult.operates(internationalService.tenantIdCopy(sourceLang, tenantId)); + return AjaxResult.operates(internationalService.tenantIdTranslate(sourceLang, tenantId)); } } \ No newline at end of file diff --git a/src/main/java/com/blueland/common/core/service/InternationalService.java b/src/main/java/com/blueland/common/core/service/InternationalService.java index d7d4976..f480d20 100644 --- a/src/main/java/com/blueland/common/core/service/InternationalService.java +++ b/src/main/java/com/blueland/common/core/service/InternationalService.java @@ -62,7 +62,7 @@ public interface InternationalService extends IService { * @param tenantId * @return boolean */ - boolean copy(String targetLang, String sourceLang, String tenantId); + boolean translate(String targetLang, String sourceLang, String tenantId); /** @@ -109,6 +109,6 @@ public interface InternationalService extends IService { * @param tenantId 保持ID * @return {@link Boolean} */ - Boolean tenantIdCopy(String sourceLang, String tenantId); + Boolean tenantIdTranslate(String sourceLang, String tenantId); } \ No newline at end of file diff --git a/src/main/java/com/blueland/common/core/service/impl/InternationalServiceImpl.java b/src/main/java/com/blueland/common/core/service/impl/InternationalServiceImpl.java index e09d25f..cddb3c8 100644 --- a/src/main/java/com/blueland/common/core/service/impl/InternationalServiceImpl.java +++ b/src/main/java/com/blueland/common/core/service/impl/InternationalServiceImpl.java @@ -131,7 +131,7 @@ public class InternationalServiceImpl extends ServiceImpl sourceLangList = listByLang(sourceLang, tenantId, ""); List nameList = sourceLangList.stream() @@ -159,7 +159,7 @@ public class InternationalServiceImpl extends ServiceImpl importList; try { importList = ExcelImportUtil.importExcel(file.getInputStream(), InternationalExport.class, params); + importList.stream() + .collect(Collectors.groupingBy(el -> el.getCode() + el.getLang())) + .values() + .stream() + .filter(el -> el.size() > 1) + .forEach(el -> { + Assert.isTrue(false,StrUtil.format("编码【{}】语言【{}】重复", el.get(0).getCode(), el.get(0).getLang())); + }); // 校验数据完整性 for (InternationalExport export : importList) { @@ -259,7 +267,7 @@ public class InternationalServiceImpl extends ServiceImpl list = listByLang(sourceLang, tenantId, "").stream() .map(el -> { el.setTenantId(UserUtils.getTenantId());