资源导入优化

yun-zuoyi
汪云昊 5 years ago
parent f0fffac2a8
commit e2970d6b27

@ -369,14 +369,20 @@ public class SysLocaleResourceController extends CoreBaseController {
@ApiOperation(value = "增量导入系统资源")
public ResultBean incrementImportSysLocaleResource(@RequestParam("file") MultipartFile file){
try {
Long startTime = System.currentTimeMillis();
LOGGER.info("开始增量导入 {}",file.getOriginalFilename());
ExcelTool excelTool = new ExcelTool(entityManager, redisRes);
List<SysLocaleResource> sysLocaleResourceList = excelTool.importData(file.getOriginalFilename(), file.getInputStream(),
SysLocaleResource.class);
LOGGER.info("增量导入 数据量 {}",sysLocaleResourceList.size());
long excelToolExecuteTime = System.currentTimeMillis();
LOGGER.info("增量导入 数据量 {}, ExcelTool耗时 {}", sysLocaleResourceList.size(), excelToolExecuteTime - startTime);
// 初始化数据
boolean d = false;
if(d){
return ResultBean.success();
}
for (SysLocaleResource resource : sysLocaleResourceList) {
resource.setId(getResourceKey(resource.getResourceKey(),resource.getLanguageCode()));
@ -384,14 +390,17 @@ public class SysLocaleResourceController extends CoreBaseController {
ConvertBean.modelInitialize(resource, AuthUtil.getSessionUser());
}
LOGGER.info("数据去重完毕");
long deduplicationExecuteTime = System.currentTimeMillis();
LOGGER.info("数据去重完毕, 数据去重耗时 {}", deduplicationExecuteTime - excelToolExecuteTime);
sysLocaleResourceService.saveSysLocaleResource(sysLocaleResourceList);
LOGGER.info("增量导入完毕");
for (List<SysLocaleResource> resourceList : splitList(sysLocaleResourceList, 1000)) {
sysLocaleResourceService.saveSysLocaleResource(resourceList);
}
LOGGER.info("增量导入完毕, 导入耗时{}",System.currentTimeMillis() - deduplicationExecuteTime);
// 重新加载资源
systemInitService.putAndLoadSysLocaleLanguage();
LOGGER.info("数据缓存更新完毕");
LOGGER.info("数据缓存更新完毕,总耗时:{}",System.currentTimeMillis()-startTime);
return ResultBean.success("导入成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);

Loading…
Cancel
Save