|
|
|
@ -46,7 +46,7 @@ import java.util.*;
|
|
|
|
|
@Api(description = "系统语言资源服务")
|
|
|
|
|
@RequestMapping(PlatformConstWords.BASE_URL + "/sys-locale-resource")
|
|
|
|
|
public class SysLocaleResourceController extends CoreBaseController {
|
|
|
|
|
public static final Logger LOGGER = LoggerFactory.getLogger(SysFileController.class);
|
|
|
|
|
public static final Logger LOGGER = LoggerFactory.getLogger(SysLocaleResourceController.class);
|
|
|
|
|
|
|
|
|
|
@Resource(name=CommonConstWords.IMPP_REDIS_RES)
|
|
|
|
|
private ImppRedis redisRes;
|
|
|
|
@ -369,27 +369,29 @@ public class SysLocaleResourceController extends CoreBaseController {
|
|
|
|
|
@ApiOperation(value = "增量导入系统资源")
|
|
|
|
|
public ResultBean incrementImportSysLocaleResource(@RequestParam("file") MultipartFile file){
|
|
|
|
|
try {
|
|
|
|
|
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());
|
|
|
|
|
|
|
|
|
|
// 初始化数据
|
|
|
|
|
SysLocaleResource orginResource;
|
|
|
|
|
for (SysLocaleResource resource : sysLocaleResourceList) {
|
|
|
|
|
orginResource = sysLocaleResourceService.getSysLocaleResourceByLanguageCodeAndResKey(resource.getLanguageCode()
|
|
|
|
|
,resource.getResourceKey());
|
|
|
|
|
// 是否存在
|
|
|
|
|
if (orginResource!=null) {
|
|
|
|
|
resource.setId(orginResource.getId());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (SysLocaleResource resource : sysLocaleResourceList) {
|
|
|
|
|
resource.setId(getResourceKey(resource.getResourceKey(),resource.getLanguageCode()));
|
|
|
|
|
resource.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
|
|
|
|
|
ConvertBean.modelInitialize(resource, AuthUtil.getSessionUser());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
LOGGER.info("数据去重完毕");
|
|
|
|
|
|
|
|
|
|
sysLocaleResourceService.saveSysLocaleResource(sysLocaleResourceList);
|
|
|
|
|
LOGGER.info("增量导入完毕");
|
|
|
|
|
|
|
|
|
|
// 重新加载资源
|
|
|
|
|
systemInitService.putAndLoadSysLocaleLanguage();
|
|
|
|
|
LOGGER.info("数据缓存更新完毕");
|
|
|
|
|
return ResultBean.success("导入成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
|
|
|
|
|
} catch (ImppBusiException busExcep) {
|
|
|
|
|
return ResultBean.fail(busExcep);
|
|
|
|
@ -400,6 +402,17 @@ public class SysLocaleResourceController extends CoreBaseController {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private Long getResourceKey(String resKey, String languageCode) {
|
|
|
|
|
if (redisRes.checkKey("CACHE_LANGUAGE:"+resKey,languageCode)) {
|
|
|
|
|
LOGGER.info("查询到已存在资源 {}:{}",resKey,languageCode);
|
|
|
|
|
SysLocaleResource sysLocaleResource =sysLocaleResourceService.getSysLocaleResourceByLanguageCodeAndResKey(
|
|
|
|
|
languageCode, resKey
|
|
|
|
|
);
|
|
|
|
|
return sysLocaleResource == null ? null : sysLocaleResource.getId();
|
|
|
|
|
}
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 按指定大小,分隔集合,将集合按规定个数分为n个部分
|
|
|
|
|
* @param <T>
|
|
|
|
|