|
|
|
@ -370,6 +370,7 @@ public class SysLocaleResourceController extends CoreBaseController {
|
|
|
|
|
public ResultBean incrementImportSysLocaleResource(@RequestParam("file") MultipartFile file){
|
|
|
|
|
try {
|
|
|
|
|
Long startTime = System.currentTimeMillis();
|
|
|
|
|
// 提取Excel数据
|
|
|
|
|
LOGGER.info("开始增量导入 {}",file.getOriginalFilename());
|
|
|
|
|
ExcelTool excelTool = new ExcelTool(entityManager, redisRes);
|
|
|
|
|
List<SysLocaleResource> sysLocaleResourceList = excelTool.importData(file.getOriginalFilename(), file.getInputStream(),
|
|
|
|
@ -378,13 +379,18 @@ public class SysLocaleResourceController extends CoreBaseController {
|
|
|
|
|
long excelToolExecuteTime = System.currentTimeMillis();
|
|
|
|
|
LOGGER.info("增量导入 数据量 {}, ExcelTool耗时 {}", sysLocaleResourceList.size(), excelToolExecuteTime - startTime);
|
|
|
|
|
|
|
|
|
|
// 初始化数据
|
|
|
|
|
boolean d = false;
|
|
|
|
|
if(d){
|
|
|
|
|
return ResultBean.success();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 数据去重并初始化
|
|
|
|
|
Set<String> resourceSet = new HashSet<>();
|
|
|
|
|
String resourceKey;
|
|
|
|
|
for (SysLocaleResource resource : sysLocaleResourceList) {
|
|
|
|
|
// 资源去重
|
|
|
|
|
resourceKey = resource.getResourceKey() + resource.getLanguageCode();
|
|
|
|
|
if(resourceSet.contains(resourceKey)){
|
|
|
|
|
continue;
|
|
|
|
|
} else {
|
|
|
|
|
resourceSet.add(resourceKey);
|
|
|
|
|
}
|
|
|
|
|
// 初始化
|
|
|
|
|
resource.setId(getResourceKey(resource.getResourceKey(),resource.getLanguageCode()));
|
|
|
|
|
resource.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
|
|
|
|
|
ConvertBean.modelInitialize(resource, AuthUtil.getSessionUser());
|
|
|
|
@ -393,6 +399,7 @@ public class SysLocaleResourceController extends CoreBaseController {
|
|
|
|
|
long deduplicationExecuteTime = System.currentTimeMillis();
|
|
|
|
|
LOGGER.info("数据去重完毕, 数据去重耗时 {}", deduplicationExecuteTime - excelToolExecuteTime);
|
|
|
|
|
|
|
|
|
|
// 分批导入
|
|
|
|
|
for (List<SysLocaleResource> resourceList : splitList(sysLocaleResourceList, 1000)) {
|
|
|
|
|
sysLocaleResourceService.saveSysLocaleResource(resourceList);
|
|
|
|
|
}
|
|
|
|
@ -412,7 +419,7 @@ public class SysLocaleResourceController extends CoreBaseController {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private Long getResourceKey(String resKey, String languageCode) {
|
|
|
|
|
if (redisRes.checkKey("CACHE_LANGUAGE:"+resKey,languageCode)) {
|
|
|
|
|
if (redisRes.checkKey(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + resKey, languageCode)) {
|
|
|
|
|
LOGGER.info("查询到已存在资源 {}:{}",resKey,languageCode);
|
|
|
|
|
SysLocaleResource sysLocaleResource =sysLocaleResourceService.getSysLocaleResourceByLanguageCodeAndResKey(
|
|
|
|
|
languageCode, resKey
|
|
|
|
|