From 6c46e9d9a1fc7f69d71f2c4cd79b28c244fab8f2 Mon Sep 17 00:00:00 2001 From: "jimmy.zeng" Date: Wed, 10 Jul 2019 20:03:59 +0800 Subject: [PATCH 1/4] =?UTF-8?q?WMS=E8=8E=B7=E5=8F=96=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/base/SystemController.java | 87 +++++++++++++++++++--- 1 file changed, 76 insertions(+), 11 deletions(-) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/SystemController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/SystemController.java index 8f13ff1..07717ff 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/SystemController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/SystemController.java @@ -1,22 +1,33 @@ package cn.estsh.i3plus.core.apiservice.controller.base; +import cn.estsh.i3plus.core.api.iservice.busi.ISysDictionaryService; +import cn.estsh.i3plus.icloud.wms.sdk.IWmsCommonCloud; +import cn.estsh.i3plus.pojo.base.bean.BaseConstWords; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.SysDictionary; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ResultBean; +import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.apache.commons.collections4.MapUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.env.AbstractEnvironment; import org.springframework.core.env.Environment; import org.springframework.core.env.MapPropertySource; import org.springframework.core.env.PropertySource; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.*; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; /** * @Description : @@ -33,25 +44,79 @@ public class SystemController { @Autowired private Environment environment; + @Autowired + private IWmsCommonCloud wmsCommonCloud; + + @Autowired + private ISysDictionaryService sysDictionaryService; + @GetMapping("/get-properties") @ApiOperation(value = "获取系统配置信息", notes = "获取系统配置信息") public ResultBean getProperties(){ try { //条件验证 - String[] profiles = environment.getDefaultProfiles(); - Map map = new HashMap(); - for(Iterator it = ((AbstractEnvironment) environment).getPropertySources().iterator(); it.hasNext(); ) { - PropertySource propertySource = (PropertySource) it.next(); - if (propertySource instanceof MapPropertySource) { - MapPropertySource source = (MapPropertySource) propertySource; - for (String key : source.getPropertyNames()) { - map.put(key,source.getProperty(key)); + Map map = getStringObjectMap(); + + return ResultBean.success("操作成功") + .setResultMap(map) + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + private Map getStringObjectMap() { + String[] profiles = environment.getDefaultProfiles(); + Map map = new TreeMap<>(); + for(Iterator it = ((AbstractEnvironment) environment).getPropertySources().iterator(); it.hasNext(); ) { + PropertySource propertySource = (PropertySource) it.next(); + if (propertySource instanceof MapPropertySource) { + MapPropertySource source = (MapPropertySource) propertySource; + for (String key : source.getPropertyNames()) { + map.put(key,source.getProperty(key)); + } + } + } + return map; + } + + @GetMapping("/cloud-properties/{id}") + @ApiOperation(value = "获取系统配置信息", notes = "获取系统配置信息") + public ResultBean getProperties(@PathVariable("id") Integer id){ + try { + ValidatorBean.checkIsNumber(id, "参数错误"); + CommonEnumUtil.SOFT_TYPE softType = CommonEnumUtil.SOFT_TYPE.valueOf(id); + Map resultMap = null; + switch (softType) { + case WMS: + resultMap = wmsCommonCloud.getSystemProperties().getResultMap(); + break; + case CORE: + resultMap = getStringObjectMap(); + break; + } + + // 根据字典查询 不查看的配置信息 + List softTypeAndParentCode = sysDictionaryService.findSysDictionaryBySoftTypeAndParentCode( + CommonEnumUtil.SOFT_TYPE.CORE.getValue(), BaseConstWords.DICTIONARY_PROPERTIES); + + // 删除无效key + if (!CollectionUtils.isEmpty(softTypeAndParentCode)) { + for (Iterator> it = resultMap.entrySet().iterator(); it.hasNext(); ) { + + Map.Entry item = it.next(); + for (SysDictionary dictionary : softTypeAndParentCode) { + if (StringUtils.equalsIgnoreCase(item.getKey(), dictionary.getDictionaryValue())) { + it.remove(); + } } } } return ResultBean.success("操作成功") - .setResultMap(map) + .setResultMap(resultMap) .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); From 014397a8cf7d7c3159295cec8da4e151e8955851 Mon Sep 17 00:00:00 2001 From: "jimmy.zeng" Date: Thu, 11 Jul 2019 20:37:30 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../configuration/AppStartSystemInit.java | 16 +++++++----- .../controller/base/SystemController.java | 30 +++++++++++++++++++--- 2 files changed, 37 insertions(+), 9 deletions(-) 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 7df9225..544c9d5 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 @@ -6,10 +6,7 @@ import cn.estsh.i3plus.core.api.iservice.busi.ISysUserInfoService; import cn.estsh.i3plus.core.api.iservice.busi.ISystemResourceService; import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; -import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage; -import cn.estsh.i3plus.pojo.platform.bean.SysLocaleResource; -import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; -import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; +import cn.estsh.impp.framework.boot.configuration.SystemConfig; import cn.estsh.impp.framework.boot.util.ImppRedis; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -17,9 +14,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Component; + import javax.annotation.Resource; -import java.util.HashMap; -import java.util.List; /** * @Description : @@ -47,6 +43,9 @@ public class AppStartSystemInit implements CommandLineRunner { private ImppRedis redisRes; @Autowired + private SystemConfig systemConfig; + + @Autowired private ISystemResourceService systemResourceService; @Autowired @@ -64,6 +63,11 @@ public class AppStartSystemInit implements CommandLineRunner { LOGGER.info("【IMPP-Core开始加载基础信息...】"); systemInitService.putAndLoadAll(); + + // 加载系统配置文件 + LOGGER.info("【IMPP-Core 加载系统配置文件到缓存中 ...】"); + systemConfig.loadSystemConfig(CommonEnumUtil.SOFT_TYPE.CORE.getCode()); + LOGGER.info("【IMPP-Core 加载系统配置文件到缓存完成】"); } /** diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/SystemController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/SystemController.java index 07717ff..5d1b078 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/SystemController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/SystemController.java @@ -1,8 +1,10 @@ package cn.estsh.i3plus.core.apiservice.controller.base; import cn.estsh.i3plus.core.api.iservice.busi.ISysDictionaryService; +import cn.estsh.i3plus.icloud.form.sdk.IFormSystemCloud; import cn.estsh.i3plus.icloud.wms.sdk.IWmsCommonCloud; import cn.estsh.i3plus.pojo.base.bean.BaseConstWords; +import cn.estsh.i3plus.pojo.base.bean.BaseResultBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysDictionary; @@ -48,6 +50,9 @@ public class SystemController { private IWmsCommonCloud wmsCommonCloud; @Autowired + private IFormSystemCloud iFormSystemCloud; + + @Autowired private ISysDictionaryService sysDictionaryService; @GetMapping("/get-properties") @@ -89,13 +94,32 @@ public class SystemController { ValidatorBean.checkIsNumber(id, "参数错误"); CommonEnumUtil.SOFT_TYPE softType = CommonEnumUtil.SOFT_TYPE.valueOf(id); Map resultMap = null; + BaseResultBean resultBean; switch (softType) { - case WMS: - resultMap = wmsCommonCloud.getSystemProperties().getResultMap(); - break; case CORE: resultMap = getStringObjectMap(); break; + case FORM: + resultBean = iFormSystemCloud.getSystemProperties(); + if (resultBean != null && resultBean.isSuccess()) { + resultMap = iFormSystemCloud.getSystemProperties().getResultMap(); + } + break; + case REPORT: + resultMap = getStringObjectMap(); + break; + case GATEWAY: + resultMap = getStringObjectMap(); + break; + case CENTER: + resultMap = getStringObjectMap(); + break; + case WMS: + resultBean = iFormSystemCloud.getSystemProperties(); + if (resultBean != null && resultBean.isSuccess()) { + resultMap = wmsCommonCloud.getSystemProperties().getResultMap(); + } + break; } // 根据字典查询 不查看的配置信息 From 436172c607e228dc134dea426d4ab02dc4b0213c Mon Sep 17 00:00:00 2001 From: "jimmy.zeng" Date: Thu, 11 Jul 2019 20:45:44 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/apiservice/controller/base/SystemController.java | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/SystemController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/SystemController.java index 5d1b078..c28a99d 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/SystemController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/SystemController.java @@ -1,7 +1,6 @@ package cn.estsh.i3plus.core.apiservice.controller.base; import cn.estsh.i3plus.core.api.iservice.busi.ISysDictionaryService; -import cn.estsh.i3plus.icloud.form.sdk.IFormSystemCloud; import cn.estsh.i3plus.icloud.wms.sdk.IWmsCommonCloud; import cn.estsh.i3plus.pojo.base.bean.BaseConstWords; import cn.estsh.i3plus.pojo.base.bean.BaseResultBean; @@ -50,9 +49,6 @@ public class SystemController { private IWmsCommonCloud wmsCommonCloud; @Autowired - private IFormSystemCloud iFormSystemCloud; - - @Autowired private ISysDictionaryService sysDictionaryService; @GetMapping("/get-properties") @@ -100,10 +96,6 @@ public class SystemController { resultMap = getStringObjectMap(); break; case FORM: - resultBean = iFormSystemCloud.getSystemProperties(); - if (resultBean != null && resultBean.isSuccess()) { - resultMap = iFormSystemCloud.getSystemProperties().getResultMap(); - } break; case REPORT: resultMap = getStringObjectMap(); @@ -115,10 +107,6 @@ public class SystemController { resultMap = getStringObjectMap(); break; case WMS: - resultBean = iFormSystemCloud.getSystemProperties(); - if (resultBean != null && resultBean.isSuccess()) { - resultMap = wmsCommonCloud.getSystemProperties().getResultMap(); - } break; } From 669dd8296c66365d4cfcd10e23ea3046ce03c982 Mon Sep 17 00:00:00 2001 From: "wei.peng" <123456> Date: Fri, 12 Jul 2019 09:22:11 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BA=8F=E5=88=97?= =?UTF-8?q?=E5=8C=96ID=20,=20=E7=94=A8=E6=88=B7=E7=99=BB=E5=BD=95=E5=9C=A8?= =?UTF-8?q?=E7=BA=BF=E6=9C=BA=E5=88=B6=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/core/api/iservice/busi/ISysUserService.java | 2 +- .../apiservice/controller/base/WhiteController.java | 2 -- .../serviceimpl/base/SystemLoginService.java | 3 --- .../apiservice/serviceimpl/busi/SysUserService.java | 18 ++++++++++++++---- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java index dd46321..4604a25 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java @@ -247,7 +247,7 @@ public interface ISysUserService { * @return */ @ApiOperation(value = "封装用户信息",notes = "封装登录完成后的用户信息(角色、权限、部门、组织、岗位)") - SessionUser packSessionUser(SessionUser sessionUser, SysUser user, Integer userType, String languageCode); + SessionUser packSessionUser(SessionUser sessionUser, SysUser user, Integer userType,Integer loginPlatform, String languageCode); /** * 根据id查询用户信息 diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java index 8213be2..cb77483 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java @@ -132,8 +132,6 @@ public class WhiteController extends CoreBaseController { LOGGER.info("会员登陆:{}",user); // Session 信息分装 - AuthUtil.setSessionObject(CommonConstWords.SESSION_LOGIN_LANGUAGE_CODE,languageCode); - AuthUtil.setSessionObject(CommonConstWords.SESSION_LOGIN_PLATFORM, getLoginPlatform().getValue()); result = new ResultBean(true, AuthUtil.getSession().getId().toString(), AuthUtil.getSessionUser()); result.setUrl("/"); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemLoginService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemLoginService.java index 91fbbcc..806cf14 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemLoginService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemLoginService.java @@ -69,7 +69,6 @@ public class SystemLoginService implements ISystemLoginService { SysUser user = getUserLoginInfo(userToken.getLoginName(),userToken.getLoginPwd()); LOGGER.info("【验证用户checkUserLogin】{}",user); //用户单地登录 - AuthUtil.checkLoginOnly(userToken); return packSessionUser(user,CommonEnumUtil.USER_TYPE.USER.getCode(),userToken.getLanguageCode()); } @@ -161,10 +160,8 @@ public class SystemLoginService implements ISystemLoginService { private SessionUser packSessionUser(SysUser user,String userType, String languageCode) { SessionUser sessionUser = new SessionUser(); sessionUser.setLanguageCode(languageCode); -// sessionUser.setSiteCode(user.getFactoryCode()); sessionUser.setUserName(user.getUserName()); sessionUser.setUserType(userType); -// sessionUser.setUserCode(user.getUserInfo().getLanguageCode()); return sessionUser; } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java index c00aef4..fcc36e7 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java @@ -9,7 +9,6 @@ import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.tool.EncryptTool; import cn.estsh.i3plus.platform.common.tool.StringTool; import cn.estsh.i3plus.platform.common.tool.TimeTool; -import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; @@ -27,6 +26,7 @@ import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; +import cn.estsh.impp.framework.boot.util.ImppRedis; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authc.AuthenticationException; @@ -39,6 +39,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; @@ -103,6 +104,12 @@ public class SysUserService implements ISysUserService { @Autowired private IPersonnelService personnelService; + /** + * 缓存 + */ + @Resource(name="redisSession") + private ImppRedis redisSession; + @Override @ApiOperation(value = "用户登录", notes = "用户登录功能实现") @Transactional(propagation = Propagation.REQUIRED) @@ -116,9 +123,10 @@ public class SysUserService implements ISysUserService { if(user == null){ throw new CredentialsException("用户不存在"); } - packSessionUser(sessionUser, user, user.getUserType(), languageCode); + packSessionUser(sessionUser, user, user.getUserType(),loginPlatform, languageCode); AuthUtil.setSessionUser(sessionUser); refreshUserLoginInformation(user.getId()); + AuthUtil.refreshOnline(sessionUser); return sessionUser; } @@ -559,7 +567,7 @@ public class SysUserService implements ISysUserService { */ @Override @ApiOperation(value = "封装用户信息",notes = "封装登录完成后的用户信息(角色、权限、部门、组织、岗位)") - public SessionUser packSessionUser(SessionUser sessionUser, SysUser user, Integer userType, String languageCode) { + public SessionUser packSessionUser(SessionUser sessionUser, SysUser user,Integer userType,Integer loginPlatform, String languageCode) { LOGGER.debug("平台用户 SYS_USER user id :{}", user.getId()); SysUserInfo userInfo = sysUserInfoRDao.getById(user.getUserInfoId()); @@ -581,11 +589,13 @@ public class SysUserService implements ISysUserService { // userInfo.setUser(user); sessionUser.setUserName(userInfo.getName()); sessionUser.setUserCode(userInfo.getUserEmpNo()); - sessionUser.setUserId(userInfo.getId()); sessionUser.setUserInfo(userInfo); // sessionUser.setUserType(CommonEnumUtil.USER_TYPE.valueOf(userType)); + sessionUser.setUserId(user.getId()); sessionUser.setLanguageCode(languageCode); + sessionUser.setLoginPlatform(loginPlatform); + sessionUser.setToken(AuthUtil.getSession().getId().toString()); sessionUser.setUser(user); return sessionUser;