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 4604a25..0eff148 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 @@ -26,7 +26,7 @@ public interface ISysUserService { * @return */ @ApiOperation(value = "账号登录",notes = "普通账号登录功能") - SessionUser queryUserLogin(String loginName, String password, String languageCode,Integer loginPlatform) throws AuthenticationException; + SessionUser queryUserLogin(String loginName, String password, String languageCode,Integer loginPlatform,String deviceId) throws AuthenticationException; @ApiOperation(value = "获取Token",notes = "根据登录名判断是否是管理员") BaseToken getToken(String loginName, String password, String languageCode,Integer loginPlatform); @@ -247,7 +247,7 @@ public interface ISysUserService { * @return */ @ApiOperation(value = "封装用户信息",notes = "封装登录完成后的用户信息(角色、权限、部门、组织、岗位)") - SessionUser packSessionUser(SessionUser sessionUser, SysUser user, Integer userType,Integer loginPlatform, String languageCode); + SessionUser packSessionUser(SessionUser sessionUser, SysUser user, Integer userType,Integer loginPlatform, String languageCode, String deviceId); /** * 根据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 cb77483..e3b8cd4 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 @@ -114,7 +114,8 @@ public class WhiteController extends CoreBaseController { @GetMapping(value="/auth/login") @ApiOperation(value="登陆",notes="登陆") public ResultBean login(HttpServletRequest request, String loginName, String loginPwd, String languageCode, - @RequestParam(required = false) String ipAddr){ + @RequestParam(required = false) String ipAddr, + @RequestParam(required = false) String deviceId){ startMultiService(); LOGGER.info("用户登陆 loginName:{} loginPwd:{} languageCode:{}",loginName,loginPwd,languageCode); @@ -125,13 +126,12 @@ public class WhiteController extends CoreBaseController { ValidatorBean.checkNotNull(languageCode,"语言不能为空"); logout(); - SessionUser user = userService.queryUserLogin(loginName.trim(), loginPwd.trim(), languageCode, getLoginPlatform().getValue()); + SessionUser user = userService.queryUserLogin(loginName.trim(), loginPwd.trim(), languageCode, getLoginPlatform().getValue(),deviceId); String redisKey = CommonConstWords.USER_LOGIN_ERROR + "_" + user.getUser().getId(); redisCore.deleteKey(redisKey); LOGGER.info("会员登陆:{}",user); - // Session 信息分装 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/busi/SysUserService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java index 0cb2328..fce464a 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 @@ -113,7 +113,7 @@ public class SysUserService implements ISysUserService { @Override @ApiOperation(value = "用户登录", notes = "用户登录功能实现") @Transactional(propagation = Propagation.REQUIRED) - public SessionUser queryUserLogin(String loginName, String password, String languageCode,Integer loginPlatform) throws AuthenticationException { + public SessionUser queryUserLogin(String loginName, String password, String languageCode,Integer loginPlatform,String deviceId) throws AuthenticationException { LOGGER.debug("平台用户 SYS_USER loginName:{} \t password:{} \t languageCode:{}", loginName, password, languageCode); BaseToken token = getToken(loginName, password, languageCode, loginPlatform); @@ -123,7 +123,7 @@ public class SysUserService implements ISysUserService { if(user == null){ throw new CredentialsException("用户不存在"); } - packSessionUser(sessionUser, user, user.getUserType(),loginPlatform, languageCode); + packSessionUser(sessionUser, user, user.getUserType(),loginPlatform, languageCode,deviceId); AuthUtil.setSessionUser(sessionUser); refreshUserLoginInformation(user.getId()); AuthUtil.online(sessionUser); @@ -567,7 +567,7 @@ public class SysUserService implements ISysUserService { */ @Override @ApiOperation(value = "封装用户信息",notes = "封装登录完成后的用户信息(角色、权限、部门、组织、岗位)") - public SessionUser packSessionUser(SessionUser sessionUser, SysUser user,Integer userType,Integer loginPlatform, String languageCode) { + public SessionUser packSessionUser(SessionUser sessionUser, SysUser user,Integer userType,Integer loginPlatform, String languageCode, String deviceId) { LOGGER.debug("平台用户 SYS_USER user id :{}", user.getId()); SysUserInfo userInfo = sysUserInfoRDao.getById(user.getUserInfoId()); @@ -593,6 +593,7 @@ public class SysUserService implements ISysUserService { // sessionUser.setUserType(CommonEnumUtil.USER_TYPE.valueOf(userType)); sessionUser.setUserId(user.getId()); + sessionUser.setDeviceId(deviceId); sessionUser.setLanguageCode(languageCode); sessionUser.setLoginPlatform(loginPlatform); sessionUser.setToken(AuthUtil.getSession().getId().toString());