Merge remote-tracking branch 'remotes/origin/dev' into test

yun-zuoyi
汪云昊 5 years ago
commit 0a611e804e

@ -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>

Loading…
Cancel
Save