diff --git a/base/src/main/java/com/tinyengine/it/controller/I18nEntryController.java b/base/src/main/java/com/tinyengine/it/controller/I18nEntryController.java index 4be56b81..c8b8dad0 100644 --- a/base/src/main/java/com/tinyengine/it/controller/I18nEntryController.java +++ b/base/src/main/java/com/tinyengine/it/controller/I18nEntryController.java @@ -70,19 +70,20 @@ public class I18nEntryController { private I18nEntryService i18nEntryService; /** - * Gets all i 18 n entries. + * Gets all i 18 n entries by app. * - * @return 获取国际化词条列表 all i 18 n entries + * @return 获取国际化词条列表 i 18 n entries */ - @Operation(summary = "获取国际化词条列表", description = "获取国际化词条列表", responses = { + @Operation(summary = "通过app获取国际化词条列表", description = "通过app获取国际化词条列表", responses = { @ApiResponse(responseCode = "200", description = "返回信息", content = @Content(mediaType = "application/json", schema = @Schema())), @ApiResponse(responseCode = "400", description = "请求失败") }) @SystemControllerLog(description = "获取国际化词条列表") @GetMapping("/i18n/entries") - public Result getAllI18nEntries() { - I18nEntryListResult i18nEntriesList = i18nEntryService.findAllI18nEntry(); + public Result getI18nEntriesByApp( @RequestParam(value = "host", required = false) Integer host, + @RequestParam(value = "host_type", required = false) String hostType) { + I18nEntryListResult i18nEntriesList = i18nEntryService.findI18nEntryByApp(host, hostType); return Result.success(i18nEntriesList); } diff --git a/base/src/main/java/com/tinyengine/it/service/app/I18nEntryService.java b/base/src/main/java/com/tinyengine/it/service/app/I18nEntryService.java index 72b560ed..02671578 100644 --- a/base/src/main/java/com/tinyengine/it/service/app/I18nEntryService.java +++ b/base/src/main/java/com/tinyengine/it/service/app/I18nEntryService.java @@ -124,4 +124,11 @@ public interface I18nEntryService { * @throws Exception the exception */ Result readFilesAndbulkCreate(String lang, MultipartFile file, int host) throws Exception; + + /** + * 通过app查询表t_i18n_entry所有信息 + * + * @return the 18 n entry list result + */ + I18nEntryListResult findI18nEntryByApp(Integer host, String hostType); } diff --git a/base/src/main/java/com/tinyengine/it/service/app/impl/I18nEntryServiceImpl.java b/base/src/main/java/com/tinyengine/it/service/app/impl/I18nEntryServiceImpl.java index 3e5cbfc3..88d6c109 100644 --- a/base/src/main/java/com/tinyengine/it/service/app/impl/I18nEntryServiceImpl.java +++ b/base/src/main/java/com/tinyengine/it/service/app/impl/I18nEntryServiceImpl.java @@ -375,6 +375,35 @@ public Result readFilesAndbulkCreate(String lang, MultipartFile file return Result.success(i18nFileResult); } + /** + * 通过app查询表t_i18n_entry所有信息 + * + * @return the 18 n entry list result + */ + @Override + public I18nEntryListResult findI18nEntryByApp(Integer host, String hostType) { + I18nEntryListResult i18nEntriesListResult = new I18nEntryListResult(); + // 获取所属应用/区块的 语言列表 getHostLangs + List i18nLangsList = getHostLangs(); + if (i18nLangsList == null || i18nLangsList.isEmpty()) { + return i18nEntriesListResult; + } + // 获取词条列表 + List i18nEntriesList = i18nEntryMapper.findI18nEntriesByHostandHostType(host, hostType); + if (i18nEntriesList == null) { + return i18nEntriesListResult; + } + // 格式化词条列表 + SchemaI18n messages = formatEntriesList(i18nEntriesList); + List i18nLangsListTemp = i18nLangsList.stream() + .map(i18nLang -> new I18nLang(i18nLang.getLang(), i18nLang.getLabel())) + .collect(Collectors.toList()); + + i18nEntriesListResult.setI18nLangsList(i18nLangsListTemp); + i18nEntriesListResult.setMessages(messages); + return i18nEntriesListResult; + } + /** * 批量创建或修改 * @@ -449,7 +478,7 @@ public List parseZipFileStream(MultipartFile file) throws Exception // 解压ZIP文件并处理 List fileInfos = Utils.unzip(file); for (FileInfo fileInfo : fileInfos) { - entriesItems = parseZip(fileInfo); + entriesItems.addAll(parseZip(fileInfo)); } return entriesItems; } @@ -530,7 +559,7 @@ private EntriesItem setLang(String fileName) { } else { name = fileName.substring(0, lastDotIndex); // 返回不带扩展名的文件名 } - if (Enums.I18nFileName.EN_US.getValue().equals(name)) { + if (name.contains(Enums.I18nFileName.EN_US.getValue())) { entriesItem.setLang(2); } else { entriesItem.setLang(1);