Jenkins自动合并

yun-zuoyi
jenkins 5 years ago
commit 788bc29c9d

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

@ -232,14 +232,20 @@ public class SystemInitService implements ISystemInitService {
if(resources != null && resources.size() > 0){ if(resources != null && resources.size() > 0){
resources.forEach(res -> resourceKeyMap.put(StringUtils.join(res.getLanguageCode(),res.getResourceKey()),res)); resources.forEach(res -> resourceKeyMap.put(StringUtils.join(res.getLanguageCode(),res.getResourceKey()),res));
} }
String redisLanguageKey;
SysLocaleResource res;
if(menus != null && menus.size() > 0 && languages != null && languages.size() > 0){ if(menus != null && menus.size() > 0 && languages != null && languages.size() > 0){
for (SysLocaleLanguage language : languages) { for (SysLocaleLanguage language : languages) {
String redisLanguageKey = CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE_MENU + ":" + language.getLanguageCode(); redisLanguageKey = CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE_MENU + ":" + language.getLanguageCode();
for (SysMenu menu : menus) { for (SysMenu menu : menus) {
SysLocaleResource res = resourceKeyMap.get( // 多次校验
StringUtils.join(language.getLanguageCode(),RESOURCE_PREFIX_MENU,menu.getName())); res = resourceKeyMap.get(StringUtils.join(language.getLanguageCode(),RESOURCE_PREFIX_MENU,menu.getName()));
if(res == null){
res = localeResourceService.getSysLocaleResourceByLanguageCodeAndResKey(language.getLanguageCode(),
RESOURCE_PREFIX_MENU + menu.getName());
}
if(res == null){ if(res == null){
// 当系统没有相应的功能权限资源时创建资源 // 当系统没有相应的功能权限资源时创建资源
res = new SysLocaleResource(); res = new SysLocaleResource();

@ -230,7 +230,7 @@ public class SysLocaleResourceService implements ISysLocaleResourceService {
@Override @Override
public void deleteSysLocaleResourceAll() { public void deleteSysLocaleResourceAll() {
sysLocaleResourceRDao.deleteAll(); sysLocaleResourceRDao.deleteAllInBatch();
} }
} }

Loading…
Cancel
Save