From bd08a64e27a7ed02cdf156675fce9dcfa9692630 Mon Sep 17 00:00:00 2001 From: "wei.peng" <123456> Date: Fri, 5 Jul 2019 14:29:54 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=9D=83=E9=99=90=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/api/iservice/busi/ISysUserService.java | 4 ++++ .../serviceimpl/busi/SysUserService.java | 24 ++++++++++++++++++++-- 2 files changed, 26 insertions(+), 2 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 136719d..6ac2ea7 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 @@ -2,6 +2,7 @@ package cn.estsh.i3plus.core.api.iservice.busi; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.shirotoken.BaseToken; import cn.estsh.i3plus.pojo.platform.bean.*; import io.swagger.annotations.ApiOperation; import org.apache.shiro.authc.AuthenticationException; @@ -27,6 +28,9 @@ public interface ISysUserService { @ApiOperation(value = "账号登录",notes = "普通账号登录功能") SessionUser queryUserLogin(String loginName, String password, String languageCode,Integer loginPlatform) throws AuthenticationException; + @ApiOperation(value = "获取Token",notes = "根据登录名判断是否是管理员") + BaseToken getToken(String loginName, String password, String languageCode,Integer loginPlatform); + /** * 修改状态 * @param id 修改账号状态 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 3113893..e4668ea 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 @@ -15,6 +15,9 @@ import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.PagerHelper; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.shirotoken.AdminToken; +import cn.estsh.i3plus.pojo.base.shirotoken.BaseToken; +import cn.estsh.i3plus.pojo.base.shirotoken.SaAdminToken; import cn.estsh.i3plus.pojo.base.shirotoken.UserToken; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.base.tool.HqlPack; @@ -106,7 +109,7 @@ public class SysUserService implements ISysUserService { public SessionUser queryUserLogin(String loginName, String password, String languageCode,Integer loginPlatform) throws AuthenticationException { LOGGER.debug("平台用户 SYS_USER loginName:{} \t password:{} \t languageCode:{}", loginName, password, languageCode); - UserToken token = new UserToken(loginName,password,languageCode,loginPlatform); + BaseToken token = getToken(loginName, password, languageCode, loginPlatform); SessionUser sessionUser = AuthUtil.login(token); SysUser user = this.getSysUserByLoginName(loginName); @@ -121,6 +124,22 @@ public class SysUserService implements ISysUserService { } @Override + public BaseToken getToken(String loginName, String password, String languageCode, Integer loginPlatform) { + SysUser user = this.getSysUserByLoginName(loginName); + if(user != null){ + if(user.getUserType().equals(CommonEnumUtil.USER_TYPE.ADMIN.getValue())){ + return new AdminToken(loginName,password,languageCode,loginPlatform); + }else if(user.getUserType().equals(CommonEnumUtil.USER_TYPE.SA.getValue())){ + return new SaAdminToken(loginName,password,languageCode,loginPlatform); + }else { + return new UserToken(loginName,password,languageCode,loginPlatform); + } + }else { + throw new CredentialsException("用户不存在"); + } + } + + @Override @ApiOperation(value = "修改账号", notes = "修改账号状态") public void updateSysUserStatus(Long id, int status, SessionUser user) { LOGGER.debug("平台用户 SYS_USER id:{} status:{} modifyUser:{}", id, status, user.getUserName()); @@ -405,6 +424,7 @@ public class SysUserService implements ISysUserService { @ApiOperation(value = "账号查询", notes = "根据登录名查询用户信息") public SysUser getSysUserByLoginName(String loginName) { LOGGER.debug("平台用户 SYS_USER find By Login Name :{}", loginName); + return sysUserRDao.getByProperty(new String[]{"userLoginName", "isValid"}, new Object[]{loginName, CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()}); } @@ -555,7 +575,7 @@ public class SysUserService implements ISysUserService { sessionUser.setUserId(userInfo.getId()); sessionUser.setUserInfo(userInfo); - sessionUser.setUserType(CommonEnumUtil.USER_TYPE.valueOf(userType)); +// sessionUser.setUserType(CommonEnumUtil.USER_TYPE.valueOf(userType)); sessionUser.setLanguageCode(languageCode); sessionUser.setUser(user);