|
|
|
@ -28,6 +28,7 @@ import cn.estsh.impp.framework.boot.util.ResultBean;
|
|
|
|
|
import cn.estsh.impp.framework.boot.util.ValidatorBean;
|
|
|
|
|
import io.swagger.annotations.Api;
|
|
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
|
import org.apache.commons.collections4.ListUtils;
|
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
@ -310,7 +311,18 @@ public class SysLocaleResourceController extends CoreBaseController {
|
|
|
|
|
itemMap.put(resourceKey, localeResource);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sysLocaleResourceService.insertInitSysLocaleResourceList(new ArrayList<>(itemMap.values()));
|
|
|
|
|
List<SysLocaleResource> importDataList = new ArrayList<>(itemMap.values());
|
|
|
|
|
sysLocaleResourceService.deleteSysLocaleResourceAll();
|
|
|
|
|
|
|
|
|
|
for (List<SysLocaleResource> resourceList : ListUtils.partition(importDataList, 1000)) {
|
|
|
|
|
new Thread(){
|
|
|
|
|
@Override
|
|
|
|
|
public void run() {
|
|
|
|
|
super.run();
|
|
|
|
|
sysLocaleResourceService.saveSysLocaleResource(resourceList);
|
|
|
|
|
}
|
|
|
|
|
}.start();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 重新加载资源
|
|
|
|
|
systemInitService.putAndLoadSysLocaleLanguage();
|
|
|
|
@ -420,15 +432,24 @@ public class SysLocaleResourceController extends CoreBaseController {
|
|
|
|
|
LOGGER.info("数据去重完毕, 数据去重耗时 {}", deduplicationExecuteTime - excelToolExecuteTime);
|
|
|
|
|
|
|
|
|
|
// 分批导入
|
|
|
|
|
for (List<SysLocaleResource> resourceList : splitList(sysLocaleResourceList, 1000)) {
|
|
|
|
|
int size = 1000;
|
|
|
|
|
int i = 0;
|
|
|
|
|
for (List<SysLocaleResource> resourceList : ListUtils.partition(sysLocaleResourceList, size)) {
|
|
|
|
|
new Thread(){
|
|
|
|
|
@Override
|
|
|
|
|
public void run() {
|
|
|
|
|
super.run();
|
|
|
|
|
long startTime = System.currentTimeMillis();
|
|
|
|
|
sysLocaleResourceService.saveSysLocaleResource(resourceList);
|
|
|
|
|
LOGGER.info("增量导入完毕, 导入耗时{}",System.currentTimeMillis() - startTime);
|
|
|
|
|
}
|
|
|
|
|
}.start();
|
|
|
|
|
}
|
|
|
|
|
LOGGER.info("增量导入完毕, 导入耗时{}",System.currentTimeMillis() - deduplicationExecuteTime);
|
|
|
|
|
|
|
|
|
|
// 重新加载资源
|
|
|
|
|
systemInitService.putAndLoadSysLocaleLanguage();
|
|
|
|
|
LOGGER.info("数据缓存更新完毕,总耗时:{}",System.currentTimeMillis()-startTime);
|
|
|
|
|
return ResultBean.success("导入成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
|
|
|
|
|
// systemInitService.putAndLoadSysLocaleLanguage();
|
|
|
|
|
// LOGGER.info("数据缓存更新完毕,总耗时:{}",System.currentTimeMillis()-startTime);
|
|
|
|
|
return ResultBean.success("数据导入中...").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
|
|
|
|
|
} catch (ImppBusiException busExcep) {
|
|
|
|
|
return ResultBean.fail(busExcep);
|
|
|
|
|
} catch (BaseImppException busExcep) {
|
|
|
|
@ -475,31 +496,4 @@ public class SysLocaleResourceController extends CoreBaseController {
|
|
|
|
|
}
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 按指定大小,分隔集合,将集合按规定个数分为n个部分
|
|
|
|
|
* @param <T>
|
|
|
|
|
*
|
|
|
|
|
* @param list
|
|
|
|
|
* @param len
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public static <T> List<List<T>> splitList(List<T> list, int len) {
|
|
|
|
|
|
|
|
|
|
if (list == null || list.isEmpty() || len < 1) {
|
|
|
|
|
return Collections.emptyList();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<List<T>> result = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
int size = list.size();
|
|
|
|
|
int count = (size + len - 1) / len;
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < count; i++) {
|
|
|
|
|
List<T> subList = list.subList(i * len, ((i + 1) * len > size ? size : len * (i + 1)));
|
|
|
|
|
result.add(subList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|