|
|
|
@ -29,16 +29,50 @@ public class SysResourceBindleListener implements ApplicationListener<ContextRef
|
|
|
|
|
@Autowired
|
|
|
|
|
public ISystemResourceService systemResourceService;
|
|
|
|
|
|
|
|
|
|
@Resource(name="redisCore")
|
|
|
|
|
private ImppRedis redisCore;
|
|
|
|
|
@Resource(name="redisRes")
|
|
|
|
|
private ImppRedis redisRes;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 整体数据结构:
|
|
|
|
|
* code <lang : value>
|
|
|
|
|
* 先根据code查询,判断是否存在,然后通过语言获取对应的值
|
|
|
|
|
*/
|
|
|
|
|
HashMap<String,HashMap<String,String>> resMap = new HashMap();
|
|
|
|
|
HashMap<String,String> lanMap = null;
|
|
|
|
|
|
|
|
|
|
//语言数量
|
|
|
|
|
List<SysLocaleLanguage> langList = systemResourceService.listSysLocaleLanguage(null);
|
|
|
|
|
LOGGER.info("【加载平台资源】共有{}种语言。",langList.size());
|
|
|
|
|
|
|
|
|
|
List<SysLocaleResource> resourceList = null;
|
|
|
|
|
SysLocaleResource resource = null;
|
|
|
|
|
//查询所有资源
|
|
|
|
|
List<SysLocaleResource> resourceList = systemResourceService.listSysLocaleResource(null);
|
|
|
|
|
LOGGER.info("【加载平台资源】共有{}个资源,{}种语言。",resourceList.size(),langList.size());
|
|
|
|
|
for(SysLocaleResource res : resourceList) {
|
|
|
|
|
//遍历资源,放入map中
|
|
|
|
|
lanMap = resMap.get(res.getResourceKey());
|
|
|
|
|
//判断是否已存在资源信息
|
|
|
|
|
if(lanMap == null){
|
|
|
|
|
lanMap = new HashMap<String,String>();
|
|
|
|
|
//将key/代码放入
|
|
|
|
|
resMap.put(res.getResourceKey(),lanMap);
|
|
|
|
|
}
|
|
|
|
|
//根据语言放入
|
|
|
|
|
lanMap.put(res.getLanguageCode(),res.getResourceValue());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for(String key : resMap.keySet()){
|
|
|
|
|
//放入缓存
|
|
|
|
|
redisRes.putHashMap(key,resMap.get(key));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
LOGGER.info("【资源配置文件已全部加载:{}】",resMap.size());
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
//资源集合
|
|
|
|
|
HashMap<String,String> resMap;
|
|
|
|
|
|
|
|
|
|
//模块集合
|
|
|
|
|
HashMap<String,HashMap<String,String>> langModoleMap = new HashMap();
|
|
|
|
|
//功能集合
|
|
|
|
@ -47,74 +81,100 @@ public class SysResourceBindleListener implements ApplicationListener<ContextRef
|
|
|
|
|
HashMap<String,HashMap<String,String>> langBtnMap = new HashMap();
|
|
|
|
|
//信息集合
|
|
|
|
|
HashMap<String,HashMap<String,String>> langMsgMap = new HashMap();
|
|
|
|
|
//资源集合
|
|
|
|
|
HashMap<String,String> resMap;
|
|
|
|
|
//异常集合
|
|
|
|
|
HashMap<String,HashMap<String,String>> langExMap = new HashMap();
|
|
|
|
|
|
|
|
|
|
/************** 加载国际化 *************/
|
|
|
|
|
*//************** 加载国际化 *************//*
|
|
|
|
|
for(SysLocaleLanguage lang : langList) {
|
|
|
|
|
|
|
|
|
|
/************** 加载模块 *************/
|
|
|
|
|
*//************** 加载模块 *************//*
|
|
|
|
|
resource = new SysLocaleResource();
|
|
|
|
|
resource.setResourceType(CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.MODULE.getValue());
|
|
|
|
|
resource.setLanguageCode(lang.getLanguageCode());
|
|
|
|
|
resourceList = systemResourceService.listSysLocaleResource(resource);
|
|
|
|
|
|
|
|
|
|
LOGGER.info("【{}-{},{}】共有{}个资源。",CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.MODULE.getDescription(),
|
|
|
|
|
lang.getLanguageName(),lang.getLanguageCode(),resourceList.size());
|
|
|
|
|
if(resourceList.size() > 0) {
|
|
|
|
|
LOGGER.info("【{}-{},{}】共有{}个资源。", CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.MODULE.getDescription(),
|
|
|
|
|
lang.getLanguageName(), lang.getLanguageCode(), resourceList.size());
|
|
|
|
|
}
|
|
|
|
|
resMap = new HashMap<String,String>();
|
|
|
|
|
for(SysLocaleResource res : resourceList){
|
|
|
|
|
resMap.put(res.getResourceKey(),res.getResourceValue());
|
|
|
|
|
}
|
|
|
|
|
langModoleMap.put(lang.getLanguageCode(),resMap);
|
|
|
|
|
|
|
|
|
|
/************** 加载功能 *************/
|
|
|
|
|
*//************** 加载功能 *************//*
|
|
|
|
|
resource = new SysLocaleResource();
|
|
|
|
|
resource.setResourceType(CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.METHOD.getValue());
|
|
|
|
|
resource.setLanguageCode(lang.getLanguageCode());
|
|
|
|
|
resourceList = systemResourceService.listSysLocaleResource(resource);
|
|
|
|
|
|
|
|
|
|
if(resourceList.size() > 0) {
|
|
|
|
|
LOGGER.info("【{}-{},{}】共有{}个资源。",CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.METHOD.getDescription(),
|
|
|
|
|
lang.getLanguageName(),lang.getLanguageCode(),resourceList.size());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resMap = new HashMap<String,String>();
|
|
|
|
|
for(SysLocaleResource res : resourceList){
|
|
|
|
|
resMap.put(res.getResourceKey(),res.getResourceValue());
|
|
|
|
|
}
|
|
|
|
|
langMethodMap.put(lang.getLanguageCode(),resMap);
|
|
|
|
|
|
|
|
|
|
/************** 加载按钮 *************/
|
|
|
|
|
*//************** 加载按钮 *************//*
|
|
|
|
|
resource = new SysLocaleResource();
|
|
|
|
|
resource.setResourceType(CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.BUTTON.getValue());
|
|
|
|
|
resource.setLanguageCode(lang.getLanguageCode());
|
|
|
|
|
resourceList = systemResourceService.listSysLocaleResource(resource);
|
|
|
|
|
|
|
|
|
|
LOGGER.info("【{}-{},{}】共有{}个资源。",CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.BUTTON.getDescription(),
|
|
|
|
|
lang.getLanguageName(),lang.getLanguageCode(),resourceList.size());
|
|
|
|
|
if(resourceList.size() > 0) {
|
|
|
|
|
LOGGER.info("【{}-{},{}】共有{}个资源。", CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.BUTTON.getDescription(),
|
|
|
|
|
lang.getLanguageName(), lang.getLanguageCode(), resourceList.size());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resMap = new HashMap<String,String>();
|
|
|
|
|
for(SysLocaleResource res : resourceList){
|
|
|
|
|
resMap.put(res.getResourceKey(),res.getResourceValue());
|
|
|
|
|
}
|
|
|
|
|
langBtnMap.put(lang.getLanguageCode(),resMap);
|
|
|
|
|
|
|
|
|
|
/************** 加载资源 *************/
|
|
|
|
|
*//************** 加载资源 *************//*
|
|
|
|
|
resource = new SysLocaleResource();
|
|
|
|
|
resource.setResourceType(CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.COMMON.getValue());
|
|
|
|
|
resource.setLanguageCode(lang.getLanguageCode());
|
|
|
|
|
resourceList = systemResourceService.listSysLocaleResource(resource);
|
|
|
|
|
|
|
|
|
|
LOGGER.info("【{}-{},{}】共有{}个资源。",CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.COMMON.getDescription(),
|
|
|
|
|
lang.getLanguageName(),lang.getLanguageCode(),resourceList.size());
|
|
|
|
|
if(resourceList.size() > 0) {
|
|
|
|
|
LOGGER.info("【{}-{},{}】共有{}个资源。", CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.COMMON.getDescription(),
|
|
|
|
|
lang.getLanguageName(), lang.getLanguageCode(), resourceList.size());
|
|
|
|
|
}
|
|
|
|
|
resMap = new HashMap<String,String>();
|
|
|
|
|
for(SysLocaleResource res : resourceList){
|
|
|
|
|
resMap.put(res.getResourceKey(),res.getResourceValue());
|
|
|
|
|
}
|
|
|
|
|
langMsgMap.put(lang.getLanguageCode(),resMap);
|
|
|
|
|
|
|
|
|
|
*//************** 加载异常 *************//*
|
|
|
|
|
resource = new SysLocaleResource();
|
|
|
|
|
resource.setResourceType(CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.EXCEPTION.getValue());
|
|
|
|
|
resource.setLanguageCode(lang.getLanguageCode());
|
|
|
|
|
resourceList = systemResourceService.listSysLocaleResource(resource);
|
|
|
|
|
|
|
|
|
|
if(resourceList.size() > 0) {
|
|
|
|
|
LOGGER.info("【{}-{},{}】共有{}个资源。", CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.EXCEPTION.getDescription(),
|
|
|
|
|
lang.getLanguageName(), lang.getLanguageCode(), resourceList.size());
|
|
|
|
|
}
|
|
|
|
|
resMap = new HashMap<String,String>();
|
|
|
|
|
for(SysLocaleResource res : resourceList){
|
|
|
|
|
resMap.put(res.getResourceKey(),res.getResourceValue());
|
|
|
|
|
}
|
|
|
|
|
langExMap.put(lang.getLanguageCode(),resMap);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
redisCore.putHashMap(CommonConstWords.RES_PLAT_MODULE,langModoleMap);
|
|
|
|
|
redisCore.putHashMap(CommonConstWords.RES_PLAT_MODULE_METHOD,langMethodMap);
|
|
|
|
|
redisCore.putHashMap(CommonConstWords.RES_PLAT_MODULE_BUTTON,langBtnMap);
|
|
|
|
|
redisCore.putHashMap(CommonConstWords.RES_LANGUAGE_CONVERT,langMsgMap);
|
|
|
|
|
redisCore.putHashMap(CommonConstWords.RES_EXCEPTION_CONVERT,langExMap);
|
|
|
|
|
|
|
|
|
|
LOGGER.info("【资源配置文件已全部加载】");
|
|
|
|
|
LOGGER.info("【资源配置文件已全部加载】");*/
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|