From 5d2cfd4562f74496a5263db3451c1e78ff53aead Mon Sep 17 00:00:00 2001 From: heheng <475597332@qq.com> Date: 星期四, 27 三月 2025 08:44:16 +0800 Subject: [PATCH] 单据增加查询返回字段 --- assess-framework/src/main/java/com/gkhy/assess/framework/shiro/service/SysLoginService.java | 39 +++++++++++++++++++-------------------- 1 files changed, 19 insertions(+), 20 deletions(-) diff --git a/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/service/SysLoginService.java b/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/service/SysLoginService.java index ab85786..f2a37b9 100644 --- a/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/service/SysLoginService.java +++ b/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/service/SysLoginService.java @@ -4,7 +4,6 @@ import com.gkhy.assess.common.enums.ApproveStatusEnum; import com.gkhy.assess.common.enums.UserIdentityEnum; import com.gkhy.assess.common.enums.UserStatusEnum; -import com.gkhy.assess.common.exception.ApiException; import com.gkhy.assess.common.utils.JwtTokenUtil; import com.gkhy.assess.common.utils.RedisUtils; import com.gkhy.assess.system.domain.SysUser; @@ -29,8 +28,8 @@ @Autowired private HttpServletRequest request; - public SysUser login(String username, String password) { - SysUser sysUser=sysUserService.getUserByUsernamePhone(username); + public SysUser login(String username, String password,Integer identity) { + SysUser sysUser=sysUserService.getUserByUsernamePhone(username,identity); validUser(sysUser); passwordService.validate(sysUser,password); recordLoginInfo(sysUser.getId()); @@ -57,26 +56,27 @@ if(UserStatusEnum.DISABLE.getCode().equals(sysUser.getStatus())){ throw new AuthenticationException("用户已被停用"); } - if(UserIdentityEnum.AGENCY.getCode().equals(sysUser.getIdentity())){ - if(!ApproveStatusEnum.APPROVED.getCode().equals(sysUser.getState())){ - throw new AuthenticationException("机构账户审批还未通过"); - } - } +// if(UserIdentityEnum.AGENCY.getCode().equals(sysUser.getIdentity())){ +// if(!ApproveStatusEnum.APPROVED.getCode().equals(sysUser.getState())){ +// throw new AuthenticationException("机构账户审批还未通过"); +// } +// } } public SysUser validJwtToken(String jwtToken){ String username= JwtTokenUtil.getUsername(jwtToken); - if(StringUtils.isEmpty(username)){ + Integer identity=JwtTokenUtil.getIdentity(jwtToken); + if(StringUtils.isEmpty(username)||identity==null){ throw new AuthenticationException("token非法无效!"); } - SysUser sysUser=sysUserService.getUserByUsernamePhone(username); + SysUser sysUser=sysUserService.getUserByUsernamePhone(username,identity); validUser(sysUser); - if(!JwtTokenUtil.verify(jwtToken,username,sysUser.getPassword())){ + if(!JwtTokenUtil.verify(jwtToken,username,sysUser.getPassword(),identity)){ throw new AuthenticationException("token非法无效!"); } - if(!jwtTokenRefresh(jwtToken,username,sysUser.getPassword())){ - throw new AuthenticationException("Token已失效,请重新登录!"); + if(!jwtTokenRefresh(jwtToken,username,sysUser.getPassword(),identity)){ + throw new AuthenticationException("您的账号登录过期,请重新登录!"); } // setRolePermission(sysUser); return sysUser; @@ -95,18 +95,17 @@ * @param passWord * @return */ - public boolean jwtTokenRefresh(String jwtToken,String username,String passWord){ + public boolean jwtTokenRefresh(String jwtToken, String username, String passWord, Integer identity){ String tokenKey=redisUtils.generateKey(CacheConstant.SYS_USER_TOKEN+":"+JwtTokenUtil.md5Encode(jwtToken)); - String userKey=redisUtils.generateKey(CacheConstant.SYS_USER_TOKEN+":"+username); + // String userKey=redisUtils.generateKey(CacheConstant.SYS_USER_TOKEN+":"+username+"_"+identity); String cacheToken= (String) redisUtils.get(tokenKey); if(StringUtils.isNotEmpty(cacheToken)){ // 校验token有效性 - if(!JwtTokenUtil.isNeedUpdate(cacheToken,username,passWord)){ - String newToken=JwtTokenUtil.sign(username,passWord); + if(!JwtTokenUtil.isNeedUpdate(cacheToken,username,passWord,identity)){ + String newToken=JwtTokenUtil.sign(username,passWord,identity); // 设置超时时间 - redisUtils.set(tokenKey,newToken); - redisUtils.expire(tokenKey,JwtTokenUtil.EXPIRATION*2/1000); - redisUtils.expire(userKey,(JwtTokenUtil.EXPIRATION*2/1000)+2); + redisUtils.set(tokenKey,newToken,JwtTokenUtil.EXPIRATION*2/1000); + // redisUtils.expire(userKey,(JwtTokenUtil.EXPIRATION*2/1000)+2); } return true; } -- Gitblit v1.9.2