diff --git a/modules/i3plus-core-apiservice/pom.xml b/modules/i3plus-core-apiservice/pom.xml index 839babf..49c0aff 100644 --- a/modules/i3plus-core-apiservice/pom.xml +++ b/modules/i3plus-core-apiservice/pom.xml @@ -19,6 +19,10 @@ i3plus.icloud i3plus-icloud-core + + i3plus.icloud + i3plus-icloud-wms + i3plus.icloud diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/AppStartSystemInit.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/AppStartSystemInit.java index bcde74f..655aaad 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/AppStartSystemInit.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/AppStartSystemInit.java @@ -1,14 +1,22 @@ package cn.estsh.i3plus.core.apiservice.configuration; import cn.estsh.i3plus.core.api.iservice.base.ISystemInitService; +import cn.estsh.i3plus.core.api.iservice.busi.ISystemResourceService; import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage; +import cn.estsh.i3plus.pojo.platform.bean.SysLocaleResource; +import cn.estsh.impp.framework.boot.util.ImppRedis; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Component; +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; + /** * @Description : * @Reference : @@ -24,9 +32,180 @@ public class AppStartSystemInit implements CommandLineRunner { @Autowired private ISystemInitService systemInitService; + @Resource(name="redisRes") + private ImppRedis redisRes; + + @Autowired + public ISystemResourceService systemResourceService; + @Override public void run(String... args) throws Exception { - LOGGER.info("【IMPP-Core开始加载基础数据...】"); + LOGGER.info("【IMPP-Core开始绑定资源信息...】"); + packIMPPResources(); + + LOGGER.info("【IMPP-Core开始加载基础信息...】"); systemInitService.loadAll(); } + + /** + * 初始化资源信息,并缓存 + */ + public void packIMPPResources(){ + /** + * 整体数据结构: + * code + * 先根据code查询,判断是否存在,然后通过语言获取对应的值 + */ + HashMap> resMap = new HashMap(); + HashMap lanMap = null; + HashMap> webLangMap = new HashMap<>(); + HashMap webResMap; + + //语言数量 + List langList = systemResourceService.listSysLocaleLanguage(null); + + //查询所有资源 + List 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(); + //将key/代码放入 + resMap.put(res.getResourceKey(),lanMap); + } + //根据语言放入 + lanMap.put(res.getLanguageCode(),res.getResourceValue()); + + // web 资源 + if(!webLangMap.containsKey(res.getLanguageCode())){ + webLangMap.put(res.getLanguageCode(),new HashMap<>()); + } + // 放入资源信息 + webResMap = webLangMap.get(res.getLanguageCode()); + webResMap.put(res.getResourceKey(),res.getResourceValue()); + } + + for(String key : resMap.keySet()){ + //放入缓存 + redisRes.putHashMap(key,resMap.get(key),0); + } + + for(String key : webLangMap.keySet()){ + //放入缓存 + redisRes.putHashMap(key,webLangMap.get(key),0); + } + + LOGGER.info("【资源配置文件已全部加载:{}个】",resMap.size()); + + /* + //资源集合 + HashMap resMap; + + //模块集合 + HashMap> langModoleMap = new HashMap(); + //功能集合 + HashMap> langMethodMap = new HashMap(); + //按钮集合 + HashMap> langBtnMap = new HashMap(); + //信息集合 + HashMap> langMsgMap = new HashMap(); + //异常集合 + HashMap> 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); + + if(resourceList.size() > 0) { + LOGGER.info("【{}-{},{}】共有{}个资源。", CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.MODULE.getDescription(), + lang.getLanguageName(), lang.getLanguageCode(), resourceList.size()); + } + resMap = new HashMap(); + 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(); + 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); + + if(resourceList.size() > 0) { + LOGGER.info("【{}-{},{}】共有{}个资源。", CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.BUTTON.getDescription(), + lang.getLanguageName(), lang.getLanguageCode(), resourceList.size()); + } + + resMap = new HashMap(); + 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); + + if(resourceList.size() > 0) { + LOGGER.info("【{}-{},{}】共有{}个资源。", CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.COMMON.getDescription(), + lang.getLanguageName(), lang.getLanguageCode(), resourceList.size()); + } + resMap = new HashMap(); + 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(); + 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("【资源配置文件已全部加载】");*/ + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/MqConfig.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/MqConfig.java deleted file mode 100644 index e9daa23..0000000 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/MqConfig.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.estsh.i3plus.core.apiservice.configuration; - -import org.springframework.amqp.rabbit.connection.ConnectionFactory; -import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Configuration; - -import javax.annotation.Resource; - -/** - * @Description : - * @Reference : - * @Author : alwaysfrin - * @CreateDate : 2019-01-10 16:53 - * @Modify: - **/ -@Configuration -public class MqConfig { - @Resource(name="rabbitConnectionFactory") - private ConnectionFactory connectionFactory; - - @Autowired - private RabbitListenerEndpointRegistry rabbitListenerEndpointRegistry; -} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/i3PlusCoreConfig.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/i3PlusCoreConfig.java index cf85915..28b97c7 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/i3PlusCoreConfig.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/i3PlusCoreConfig.java @@ -1,7 +1,5 @@ package cn.estsh.i3plus.core.apiservice.configuration; -import cn.estsh.i3plus.core.apiservice.listener.SysResourceBindleListener; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** @@ -13,9 +11,5 @@ import org.springframework.context.annotation.Configuration; **/ @Configuration public class i3PlusCoreConfig { - @Bean - //资源绑定监听 - public SysResourceBindleListener messageConvertListener(){ - return new SysResourceBindleListener(); - } + } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoCloudController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoCloudController.java index e18d1c8..76b7189 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoCloudController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoCloudController.java @@ -2,16 +2,20 @@ package cn.estsh.i3plus.core.apiservice.controller; import cn.estsh.i3plus.icloud.core.sdk.ICoreDemoCloud; import cn.estsh.i3plus.icloud.wms.sdk.IWmsDemoCloud; +import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.pojo.base.bean.BaseBean; import cn.estsh.i3plus.pojo.base.bean.BaseModelBean; import cn.estsh.i3plus.pojo.base.bean.BaseResultBean; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.SessionUser; import cn.estsh.i3plus.pojo.platform.bean.SysRole; import cn.estsh.i3plus.pojo.platform.bean.SysUser; +import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.util.ResultBean; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.shiro.session.Session; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -25,7 +29,7 @@ import java.util.HashMap; import java.util.Map; @RestController -@RequestMapping("/impp/cloud") +@RequestMapping("/impp") @Api(description="分布式服务测试") public class DemoCloudController { @@ -43,7 +47,7 @@ public class DemoCloudController { @Autowired IWmsDemoCloud iWmsDemoCloud; - @GetMapping(value="/test") + @GetMapping(value="/cloud/test") @ApiOperation(value="core测试",notes = "core测试") public BaseResultBean testCore(String test) { LOGGER.info("iWmsDemoCloud:{},ip:{},port:{},【impp-core接受数据】{}",iWmsDemoCloud,ipAddress,serverPort,test); @@ -51,7 +55,7 @@ public class DemoCloudController { return BaseResultBean.buildBaseResultBean(true,""); } - @GetMapping(value="/test-wms") + @GetMapping(value="/cloud/test-wms") @ApiOperation(value="wms测试",notes = "wms测试") public ResultBean testWms(String test) { LOGGER.info("iWmsDemoCloud:{},ip:{},port:{},【impp-core接受数据】{}",iWmsDemoCloud,ipAddress,serverPort,test); @@ -65,7 +69,7 @@ public class DemoCloudController { } } - @GetMapping(value="/test-get") + @GetMapping(value="/cloud/test-get") @ApiOperation(value="测试get",notes = "测试get") public ResultBean testFeignGet(String test) { LOGGER.info("【impp-core-get接受数据】{}" ,test); @@ -79,14 +83,14 @@ public class DemoCloudController { return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } - @PutMapping(value="/test-put") + @PutMapping(value="/cloud/test-put") @ApiOperation(value="put接受数据",notes = "put接受数据") public ResultBean testPut(String test,String name) { LOGGER.info("【impp-core-put接受数据】param1:{},param2:{}", test,name); return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } - @DeleteMapping(value="/test-delete") + @DeleteMapping(value="/cloud/test-delete") @ApiOperation(value="delete接受数据",notes = "delete接受数据") public ResultBean testDelete( @RequestBody Pager pager, @@ -95,35 +99,35 @@ public class DemoCloudController { return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } - @PutMapping(value="/test-cloud-put") + @PutMapping(value="/cloud/test-cloud-put") @ApiOperation(value="测试cloudput",notes = "测试cloudput") public ResultBean putTestCloud(String test,String name) { LOGGER.info("【impp-core-put接受数据】test:{},name:{}",test,name); return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } - @PostMapping(value="/test-object") + @PostMapping(value="/cloud/test-object") @ApiOperation(value="测试单对象") public ResultBean testObject(@RequestBody Pager pager) { LOGGER.info("【impp-core-object接受数据】{}" ,pager); return ResultBean.success("返回:" + pager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } - @PostMapping(value="/test-map") + @PostMapping(value="/cloud/test-map") @ApiOperation(value="测试get",notes = "测试get") public ResultBean testFeignMap(@RequestBody Map map) { LOGGER.info("【impp-core-map接受数据】{}" ,map); return ResultBean.success("返回:" + map).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } - @PostMapping(value="/test-arr") + @PostMapping(value="/cloud/test-arr") @ApiOperation(value="测试arr",notes = "测试arr") public ResultBean testFeignArr(@RequestBody String[] arr) { LOGGER.info("【impp-core-arr接受数据】{}" ,arr); return ResultBean.success("返回成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(arr); } - @PostMapping(value="/test-more-object") + @PostMapping(value="/cloud/test-more-object") @ApiOperation(value="测试多对象模型",notes = "测试多对象模型") public ResultBean testFeignMoreObj(@RequestBody BaseModelBean roleBean) { LOGGER.info("【impp-core-more-obj接受多对象模型】objBean:{},pager:{}" ,roleBean.getObj(),roleBean.getPager()); @@ -133,7 +137,7 @@ public class DemoCloudController { @Autowired public HttpServletRequest request; - @PostMapping(value="/test-post-request-body") + @PostMapping(value="/cloud/test-post-request-body") @ApiOperation(value="测试request-body") public ResultBean testPostFeignRequestBody(@RequestParam("test") String test,@RequestBody BaseModelBean roleBean) { LOGGER.info("PostMapping【param】{}" ,test); @@ -149,7 +153,7 @@ public class DemoCloudController { return ResultBean.success("返回:" + roleBean).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } - @GetMapping(value="/test-get-request-body") + @GetMapping(value="/cloud/test-get-request-body") @ApiOperation(value="测试request-body") public ResultBean testGetFeignRequestBody(@RequestBody BaseModelBean roleBean) { Enumeration headerNames = request.getHeaderNames(); @@ -162,4 +166,29 @@ public class DemoCloudController { LOGGER.info("【测试request-body-get】objBean:{},pager:{}" ,roleBean.getObj(),roleBean.getPager()); return ResultBean.success("返回:" + roleBean).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } + + @GetMapping(value="/operate/testwmsauth") + public BaseResultBean testwmsauth(){ + LOGGER.info("【测试testwmsauth】" ); + Session session = AuthUtil.getSession(); + LOGGER.info("session:{}",session); + + SessionUser sessionUser = (SessionUser) session.getAttribute(CommonConstWords.SESSION_USER); + LOGGER.info("登陆信息:{}",sessionUser); + iWmsDemoCloud.testauth(); + + return ResultBean.success("平台授权").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } + + @GetMapping(value="/operate/testauth") + public BaseResultBean testauth(){ + LOGGER.info("【测试testauth】" ); + Session session = AuthUtil.getSession(); + LOGGER.info("session:{}",session); + + SessionUser sessionUser = (SessionUser) session.getAttribute(CommonConstWords.SESSION_USER); + LOGGER.info("登陆信息:{}",sessionUser); + + return ResultBean.success("平台授权").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/listener/SysResourceBindleListener.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/listener/SysResourceBindleListener.java deleted file mode 100644 index de08506..0000000 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/listener/SysResourceBindleListener.java +++ /dev/null @@ -1,196 +0,0 @@ -package cn.estsh.i3plus.core.apiservice.listener; - -import cn.estsh.i3plus.core.api.iservice.busi.ISystemResourceService; -import cn.estsh.i3plus.platform.common.util.CommonConstWords; -import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage; -import cn.estsh.i3plus.pojo.platform.bean.SysLocaleResource; -import cn.estsh.impp.framework.boot.util.ImppRedis; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.ApplicationListener; -import org.springframework.context.event.ContextRefreshedEvent; -import org.springframework.stereotype.Component; - -import javax.annotation.Resource; -import java.util.HashMap; -import java.util.List; - -/** - * @Description : 初始化资源配置 - * @Reference : - * @Author : alwaysfrin - * @CreateDate : 2018-10-12 18:43 - * @Modify: - **/ -@Component -public class SysResourceBindleListener implements ApplicationListener { - private static final Logger LOGGER = LoggerFactory.getLogger(CommonConstWords.SYSTEM_LOG); - - @Autowired - public ISystemResourceService systemResourceService; - - @Resource(name="redisRes") - private ImppRedis redisRes; - - @Override - public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) { - - /** - * 整体数据结构: - * code - * 先根据code查询,判断是否存在,然后通过语言获取对应的值 - */ - HashMap> resMap = new HashMap(); - HashMap lanMap = null; - HashMap> webLangMap = new HashMap<>(); - HashMap webResMap; - - //语言数量 - List langList = systemResourceService.listSysLocaleLanguage(null); - - //查询所有资源 - List 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(); - //将key/代码放入 - resMap.put(res.getResourceKey(),lanMap); - } - //根据语言放入 - lanMap.put(res.getLanguageCode(),res.getResourceValue()); - - // web 资源 - if(!webLangMap.containsKey(res.getLanguageCode())){ - webLangMap.put(res.getLanguageCode(),new HashMap<>()); - } - // 放入资源信息 - webResMap = webLangMap.get(res.getLanguageCode()); - webResMap.put(res.getResourceKey(),res.getResourceValue()); - } - - for(String key : resMap.keySet()){ - //放入缓存 - redisRes.putHashMap(key,resMap.get(key),0); - } - - for(String key : webLangMap.keySet()){ - //放入缓存 - redisRes.putHashMap(key,webLangMap.get(key),0); - } - - LOGGER.info("【资源配置文件已全部加载:{}个】",resMap.size()); - - /* - //资源集合 - HashMap resMap; - - //模块集合 - HashMap> langModoleMap = new HashMap(); - //功能集合 - HashMap> langMethodMap = new HashMap(); - //按钮集合 - HashMap> langBtnMap = new HashMap(); - //信息集合 - HashMap> langMsgMap = new HashMap(); - //异常集合 - HashMap> 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); - - if(resourceList.size() > 0) { - LOGGER.info("【{}-{},{}】共有{}个资源。", CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.MODULE.getDescription(), - lang.getLanguageName(), lang.getLanguageCode(), resourceList.size()); - } - resMap = new HashMap(); - 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(); - 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); - - if(resourceList.size() > 0) { - LOGGER.info("【{}-{},{}】共有{}个资源。", CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.BUTTON.getDescription(), - lang.getLanguageName(), lang.getLanguageCode(), resourceList.size()); - } - - resMap = new HashMap(); - 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); - - if(resourceList.size() > 0) { - LOGGER.info("【{}-{},{}】共有{}个资源。", CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.COMMON.getDescription(), - lang.getLanguageName(), lang.getLanguageCode(), resourceList.size()); - } - resMap = new HashMap(); - 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(); - 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("【资源配置文件已全部加载】");*/ - } -} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java index 5dd8efc..ca3dc62 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java @@ -63,9 +63,6 @@ public class MessageLetterQueueReceiver { */ @RabbitListener(queues = PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE) public void processImppMessage(SysMessage msg, Channel channel, Message message) { - - LOGGER.info("【MQ-{}】 数据接收成功:{}",PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE, msg); - LOGGER.info("【MQ-{}】 数据接收成功:{}",PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE, msg); LOGGER.info("【MQ-{}】 数据接收成功:{}",PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE, msg); try { msg = sysMessageService.insertSysMessage(msg); @@ -112,29 +109,29 @@ public class MessageLetterQueueReceiver { } } } - }catch (Exception e){ + + // 消息处理完成 + LOGGER.info("【MQ-{}】站内信{} DeliveryTag:{} 处理成功", PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE, + msg,message.getMessageProperties().getDeliveryTag()); + channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); + }catch (IOException e){ printErrorMessage(e,Exception.class, msg); - }finally { + try { - // 消息处理完成 - LOGGER.info("【MQ-{}】站内信{} DeliveryTag:{} 处理成功", PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE, msg,message.getMessageProperties().getDeliveryTag()); - channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); - }catch (IOException e){ - printErrorMessage(e,IOException.class, msg); - }catch (Exception e){ - printErrorMessage(e,Exception.class, msg); + // 未成功处理,重新发送 + channel.basicNack(message.getMessageProperties().getDeliveryTag(),false,true); + } catch (IOException e1) { + e1.printStackTrace(); } } } - private void printErrorMessage(Exception e,Class zlass,SysMessage msg){ Long time = System.currentTimeMillis(); LOGGER.error("【MQ-{}】{} 异常代码:{} 消息内容{},处理出错:{}", PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE, time, zlass, msg, e.getMessage()); - LOGGER.info("【MQ-{}】{} 异常代码:{} 消息内容{},处理出错:{}", PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE, time, zlass, msg, e.getMessage()); e.printStackTrace(); - //TODO MQ发生异常邮件通知 。 + //TODO 此处需要配置 SysMessage sysMessage = new SysMessage(); sysMessage.setMessageSenderNameRdd("系统管理员"); sysMessage.setMessageTitle("【IMPP-MQ异常】站内信消息推送失败"); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiverHandler.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiverHandler.java index dc2c3a3..546114b 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiverHandler.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiverHandler.java @@ -45,22 +45,16 @@ public class MessageLetterQueueReceiverHandler { @RabbitHandler public void handleMessage(byte[] message){ LOGGER.info("【MQ-{}】handleMessage(byte[] message) 数据接收成功:{}",PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE_BAK, message); - LOGGER.info("【MQ-{}】handleMessage(byte[] message) 数据接收成功:{}",PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE_BAK, message); - LOGGER.info("【MQ-{}】handleMessage(byte[] message) 数据接收成功:{}",PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE_BAK, message); } @RabbitHandler public void handleMessage(String message){ LOGGER.info("【MQ-{}】handleMessage(String message) 数据接收成功:{}",PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE_BAK, message); - LOGGER.info("【MQ-{}】handleMessage(String message) 数据接收成功:{}",PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE_BAK, message); - LOGGER.info("【MQ-{}】handleMessage(String message) 数据接收成功:{}",PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE_BAK, message); } @RabbitHandler public void handleMessage(SysMessage message){ LOGGER.info("【MQ-{}】handleMessage(SysMessage message) 数据接收成功:{}",PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE_BAK, message); - LOGGER.info("【MQ-{}】handleMessage(SysMessage message) 数据接收成功:{}",PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE_BAK, message); - LOGGER.info("【MQ-{}】handleMessage(SysMessage message) 数据接收成功:{}",PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE_BAK, message); } } diff --git a/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties b/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties index 7480623..fd79b69 100644 --- a/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties +++ b/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties @@ -1,15 +1,15 @@ #项目端口 server.port=8100 #本机ip -impp.server.ip=192.168.1.56 +impp.server.ip=192.168.1.20 #console控制台服务(zipkin追踪全路径) -impp.console.ip=http://192.168.1.56:8010 +impp.console.ip=http://192.168.1.20:8010 ################ 功能配置1 ################ #若无法连接注册中心,是否需要一直检测加入 -impp.cluster.fetch=false +impp.cluster.fetch=true #服务注册中心 -impp.cluster.regist.center=http://192.168.1.56:8000/eureka/ +impp.cluster.regist.center=http://192.168.1.20:8000/eureka/ #多注册中心 #impp.cluster.regist.center=http://192.168.1.20:8000/eureka/,http://192.168.1.20:8001/eureka/ @@ -28,9 +28,9 @@ filter.shiro.saadmin.loginuri = /salogin #用户授权过滤路径 filter.shiro.user.filteruri = /impp/operate/** #用户授权过滤路径 -filter.shiro.admin.filteruri = /adoperate/* +filter.shiro.admin.filteruri = /impp/adoperate/* #用户授权过滤路径 -filter.shiro.saadmin.filteruri = /saoperate/* +filter.shiro.saadmin.filteruri = /impp/saoperate/* ################ 云配置 (以projectName作为应用名) ################ #是否开启微服 @@ -66,11 +66,11 @@ feign.hystrix.enabled=true #重试 ribbon.maxAutoRetries=2 #读取数据时长 -ribbon.ReadTimeout=30000 +ribbon.ReadTimeout=10000 #连接时长 -ribbon.ConnectTimeout=30000 +ribbon.ConnectTimeout=10000 #响应超过时长,进行熔断(熔断超时需要大于读取时长及连接时长) -hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=35000 +hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=15000 #集群名 eureka.instance.metadata-map.cluster=impp_cluster diff --git a/modules/i3plus-core-apiservice/src/main/resources/application-prod.properties b/modules/i3plus-core-apiservice/src/main/resources/application-prod.properties index 42378da..88f5aa6 100644 --- a/modules/i3plus-core-apiservice/src/main/resources/application-prod.properties +++ b/modules/i3plus-core-apiservice/src/main/resources/application-prod.properties @@ -1,7 +1,7 @@ #项目端口 server.port=1100 #本机ip -impp.server.ip=192.168.1.56 +impp.server.ip=192.168.1.20 #console控制台服务(zipkin追踪全路径) impp.console.ip=http://cs.estsh.com @@ -61,11 +61,11 @@ feign.hystrix.enabled=true #重试 ribbon.maxAutoRetries=2 #读取数据时长 -ribbon.ReadTimeout=30000 +ribbon.ReadTimeout=10000 #连接时长 -ribbon.ConnectTimeout=30000 +ribbon.ConnectTimeout=10000 #响应超过时长,进行熔断(熔断超时需要大于读取时长及连接时长) -hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=35000 +hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=15000 #集群名 eureka.instance.metadata-map.cluster=impp_cluster diff --git a/modules/i3plus-core-apiservice/src/main/resources/application-test.properties b/modules/i3plus-core-apiservice/src/main/resources/application-test.properties index 555d266..57442ba 100644 --- a/modules/i3plus-core-apiservice/src/main/resources/application-test.properties +++ b/modules/i3plus-core-apiservice/src/main/resources/application-test.properties @@ -1,7 +1,7 @@ #项目端口 server.port=58100 #本机ip -impp.server.ip=192.168.1.56 +impp.server.ip=192.168.1.20 #console控制台服务(zipkin追踪全路径) impp.console.ip=http://cst.estsh.com @@ -66,11 +66,11 @@ feign.hystrix.enabled=true #重试 ribbon.maxAutoRetries=2 #读取数据时长 -ribbon.ReadTimeout=30000 +ribbon.ReadTimeout=10000 #连接时长 -ribbon.ConnectTimeout=30000 +ribbon.ConnectTimeout=10000 #响应超过时长,进行熔断(熔断超时需要大于读取时长及连接时长) -hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=35000 +hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=15000 #集群名 eureka.instance.metadata-map.cluster=impp_cluster