|
@@ -10,6 +10,7 @@ import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
import com.jiayue.ssi.constant.CacheConstants;
|
|
|
import com.jiayue.ssi.entity.SysUser;
|
|
|
+import com.jiayue.ssi.service.SysUserService;
|
|
|
import com.jiayue.ssi.service.impl.UserServiceImpl;
|
|
|
import com.jiayue.ssi.util.DateUtils;
|
|
|
import com.jiayue.ssi.util.ResponseInfo;
|
|
@@ -38,10 +39,12 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter {
|
|
|
|
|
|
UserServiceImpl userServiceImpl;
|
|
|
JwtTokenUtil jwtTokenUtil;
|
|
|
+ SysUserService sysUserService;
|
|
|
|
|
|
- public JwtAuthenticationTokenFilter(UserServiceImpl userServiceImpl, JwtTokenUtil jwtTokenUtil) {
|
|
|
+ public JwtAuthenticationTokenFilter(UserServiceImpl userServiceImpl, JwtTokenUtil jwtTokenUtil,SysUserService sysUserService) {
|
|
|
this.userServiceImpl = userServiceImpl;
|
|
|
this.jwtTokenUtil = jwtTokenUtil;
|
|
|
+ this.sysUserService = sysUserService;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -76,7 +79,19 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter {
|
|
|
// 判断账号截止日期
|
|
|
Date lastDate = DateUtils.getDayLastTime(user.getExpDate());
|
|
|
if (new Date().after(lastDate)) {
|
|
|
- ResponseInfo.doResponse(response, "账号有效期已失效,请联系管理员!", 403);
|
|
|
+ if ("0".equals(user.getStatus())){
|
|
|
+ // 将正常状态变为锁定
|
|
|
+ user.setLockTime(System.currentTimeMillis());
|
|
|
+ user.setStatus("1");
|
|
|
+ Boolean bo = sysUserService.updateUser(user);
|
|
|
+ if (!bo){
|
|
|
+ log.info(user.getUsername()+"账号已过有效期被锁定失败");
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ log.info(user.getUsername()+"账号已过有效期被锁定成功");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ResponseInfo.doResponse(response, "账号已过有效期被锁定,请联系管理员!", 403);
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
@@ -103,7 +118,19 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter {
|
|
|
// 判断账号截止日期
|
|
|
Date lastDate = DateUtils.getDayLastTime(user.getExpDate());
|
|
|
if (new Date().after(lastDate)) {
|
|
|
- ResponseInfo.doResponse(response, "账号有效期已失效,请联系管理员!", 403);
|
|
|
+ if ("0".equals(user.getStatus())){
|
|
|
+ // 将正常状态变为锁定
|
|
|
+ user.setLockTime(System.currentTimeMillis());
|
|
|
+ user.setStatus("1");
|
|
|
+ Boolean bo = sysUserService.updateUser(user);
|
|
|
+ if (!bo){
|
|
|
+ log.info(user.getUsername()+"账号已过有效期被锁定失败");
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ log.info(user.getUsername()+"账号已过有效期被锁定成功");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ResponseInfo.doResponse(response, "账号已过有效期被锁定,请联系管理员!", 403);
|
|
|
return;
|
|
|
}
|
|
|
}
|