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());