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

yun-zuoyi
wei.peng 6 years ago
commit 92a4afe861

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

@ -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 加载系统配置文件到缓存完成】");
}
/**

@ -1,22 +1,34 @@
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.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;
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 +45,90 @@ 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<String, Object> 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<String, Object> 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<String, Object> getStringObjectMap() {
String[] profiles = environment.getDefaultProfiles();
Map<String, Object> 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<String, Object> resultMap = null;
BaseResultBean resultBean;
switch (softType) {
case CORE:
resultMap = getStringObjectMap();
break;
case FORM:
break;
case REPORT:
resultMap = getStringObjectMap();
break;
case GATEWAY:
resultMap = getStringObjectMap();
break;
case CENTER:
resultMap = getStringObjectMap();
break;
case WMS:
break;
}
// 根据字典查询 不查看的配置信息
List<SysDictionary> softTypeAndParentCode = sysDictionaryService.findSysDictionaryBySoftTypeAndParentCode(
CommonEnumUtil.SOFT_TYPE.CORE.getValue(), BaseConstWords.DICTIONARY_PROPERTIES);
// 删除无效key
if (!CollectionUtils.isEmpty(softTypeAndParentCode)) {
for (Iterator<Map.Entry<String, Object>> it = resultMap.entrySet().iterator(); it.hasNext(); ) {
Map.Entry<String, Object> 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);

@ -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("/");

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

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

Loading…
Cancel
Save