|
|
|
@ -302,9 +302,10 @@ public class SysLocaleResourceController extends CoreBaseController {
|
|
|
|
|
// 初始化数据,资源去重
|
|
|
|
|
Map<String, SysLocaleResource> itemMap = new HashMap<>();
|
|
|
|
|
String resourceKey;
|
|
|
|
|
String userName = AuthUtil.getSessionUser().getUserName();
|
|
|
|
|
for (SysLocaleResource localeResource : sysLocaleResourceList) {
|
|
|
|
|
localeResource.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
|
|
|
|
|
ConvertBean.modelInitialize(localeResource, AuthUtil.getSessionUser());
|
|
|
|
|
ConvertBean.serviceModelInitialize(localeResource, userName);
|
|
|
|
|
|
|
|
|
|
resourceKey = localeResource.getResourceKey() + localeResource.getLanguageCode();
|
|
|
|
|
|
|
|
|
@ -325,7 +326,7 @@ public class SysLocaleResourceController extends CoreBaseController {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 重新加载资源
|
|
|
|
|
systemInitService.putAndLoadSysLocaleLanguage();
|
|
|
|
|
// systemInitService.putAndLoadSysLocaleLanguage();
|
|
|
|
|
return ResultBean.success("导入成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
|
|
|
|
|
} catch (ImppBusiException busExcep) {
|
|
|
|
|
return ResultBean.fail(busExcep);
|
|
|
|
@ -415,29 +416,31 @@ public class SysLocaleResourceController extends CoreBaseController {
|
|
|
|
|
LOGGER.info("增量导入 数据量 {}, ExcelTool耗时 {}", sysLocaleResourceList.size(), excelToolExecuteTime - startTime);
|
|
|
|
|
|
|
|
|
|
// 数据去重并初始化
|
|
|
|
|
Set<String> resourceSet = new HashSet<>();
|
|
|
|
|
|
|
|
|
|
// 初始化数据,资源去重
|
|
|
|
|
Map<String, SysLocaleResource> itemMap = new HashMap<>();
|
|
|
|
|
String resourceKey;
|
|
|
|
|
for (SysLocaleResource resource : sysLocaleResourceList) {
|
|
|
|
|
// 资源去重
|
|
|
|
|
resourceKey = resource.getResourceKey() + resource.getLanguageCode();
|
|
|
|
|
if(resourceSet.contains(resourceKey)){
|
|
|
|
|
continue;
|
|
|
|
|
} else {
|
|
|
|
|
resourceSet.add(resourceKey);
|
|
|
|
|
}
|
|
|
|
|
String userName = AuthUtil.getSessionUser().getUserName();
|
|
|
|
|
for (SysLocaleResource localeResource : sysLocaleResourceList) {
|
|
|
|
|
// 初始化
|
|
|
|
|
resource.setId(getResourceKey(resource.getResourceKey(),resource.getLanguageCode()));
|
|
|
|
|
resource.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
|
|
|
|
|
ConvertBean.modelInitialize(resource, AuthUtil.getSessionUser());
|
|
|
|
|
localeResource.setId(getResourceKey(localeResource.getResourceKey(),localeResource.getLanguageCode()));
|
|
|
|
|
localeResource.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
|
|
|
|
|
ConvertBean.serviceModelInitialize(localeResource, userName);
|
|
|
|
|
|
|
|
|
|
resourceKey = localeResource.getResourceKey() + localeResource.getLanguageCode();
|
|
|
|
|
|
|
|
|
|
itemMap.put(resourceKey, localeResource);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<SysLocaleResource> importDataList = new ArrayList<>(itemMap.values());
|
|
|
|
|
|
|
|
|
|
long deduplicationExecuteTime = System.currentTimeMillis();
|
|
|
|
|
LOGGER.info("数据去重完毕, 数据去重耗时 {}", deduplicationExecuteTime - excelToolExecuteTime);
|
|
|
|
|
|
|
|
|
|
// 分批导入
|
|
|
|
|
int size = 1000;
|
|
|
|
|
int i = 0;
|
|
|
|
|
for (List<SysLocaleResource> resourceList : ListUtils.partition(sysLocaleResourceList, size)) {
|
|
|
|
|
for (List<SysLocaleResource> resourceList : ListUtils.partition(importDataList, size)) {
|
|
|
|
|
new Thread(){
|
|
|
|
|
@Override
|
|
|
|
|
public void run() {
|
|
|
|
@ -487,6 +490,22 @@ public class SysLocaleResourceController extends CoreBaseController {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@GetMapping(value = "/update-cache")
|
|
|
|
|
@ApiOperation(value = "更新资源缓存")
|
|
|
|
|
public ResultBean updateResourceCache(){
|
|
|
|
|
try {
|
|
|
|
|
// 重新加载资源
|
|
|
|
|
systemInitService.putAndLoadSysLocaleLanguage();
|
|
|
|
|
|
|
|
|
|
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
|
|
|
|
|
} catch (ImppBusiException busExcep) {
|
|
|
|
|
return ResultBean.fail(busExcep);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private Long getResourceKey(String resKey, String languageCode) {
|
|
|
|
|
if (redisRes.checkKey(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + ":" + resKey, languageCode)) {
|
|
|
|
|
LOGGER.info("查询到已存在资源 {}:{}",resKey,languageCode);
|
|
|
|
|