|
|
|
@ -75,16 +75,16 @@ public class UserTokenServiceImpl implements UserTokenService {
|
|
|
|
|
private UserTenantService userTenantService;
|
|
|
|
|
@Resource
|
|
|
|
|
private DepartmentService departmentService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
private OauthuserService oauthuserService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
private UserTokenOnlineService userTokenOnlineService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private TenantService tenantService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public User findByLoginname(String loginname) {
|
|
|
|
|
|
|
|
|
|
cn.jyjz.xiaoyao.admin.dataobject.User userData = userService.findByLoginname(loginname);
|
|
|
|
@ -120,7 +120,7 @@ public class UserTokenServiceImpl implements UserTokenService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public User findByUserid(Long userid) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cn.jyjz.xiaoyao.admin.dataobject.User userData = userService.findById(userid);
|
|
|
|
|
if(null == userData){
|
|
|
|
|
return null;
|
|
|
|
@ -130,7 +130,7 @@ public class UserTokenServiceImpl implements UserTokenService {
|
|
|
|
|
//userData.setDepartname(department.getDepartname());
|
|
|
|
|
userData.setDepartmentRootId(department.getId());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
User user = BeanUtil.copyProperties(userData,User.class);
|
|
|
|
|
return user;
|
|
|
|
|
}
|
|
|
|
@ -174,7 +174,7 @@ public class UserTokenServiceImpl implements UserTokenService {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
AdminUserModel adminUserModel = (AdminUserModel) this.getSessionUserFromCache(userToken.getTokenid());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(null != adminUserModel){
|
|
|
|
|
return adminUserModel;
|
|
|
|
|
}
|
|
|
|
@ -242,7 +242,7 @@ public class UserTokenServiceImpl implements UserTokenService {
|
|
|
|
|
user.setSearchQueryrolesShowleave(searchQueryrolesShowleave);
|
|
|
|
|
|
|
|
|
|
userVo = BeanUtil.copyProperties(user,User.class);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//查询第三方登录用户对象
|
|
|
|
|
List<Oauthuser> oauthuserList = oauthuserService.selectByUserId(userVo.getId().toString());
|
|
|
|
|
userVo.setOauthUserList(oauthuserList);
|
|
|
|
@ -262,7 +262,7 @@ public class UserTokenServiceImpl implements UserTokenService {
|
|
|
|
|
Object objectflow = flowableUserLoginService.flowableUserLogin(adminUserModel.getUser());
|
|
|
|
|
adminUserModel.setFlowableUser(objectflow);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return adminUserModel;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -289,39 +289,39 @@ public class UserTokenServiceImpl implements UserTokenService {
|
|
|
|
|
*/
|
|
|
|
|
public ResultVo refreshToken(UserToken userToken, String logintoken, HttpServletRequest request){
|
|
|
|
|
userToken = JwtUtils.decode(logintoken);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
log.error("TokenExpiredException-------刷新token===============================2====logintoken==={}--",logintoken);
|
|
|
|
|
//原始缓存
|
|
|
|
|
String sourcetokenid = userToken.getTokenid();
|
|
|
|
|
//删除原缓存信息
|
|
|
|
|
iCacheManager.remove(CacheConstants.USER_MODEL_NAME,sourcetokenid);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
log.error("TokenExpiredException-------刷新token===============================4====userToken==={}--",userToken);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(!UserUtils.validateId(userToken)){
|
|
|
|
|
return ResultVoUtil.error();
|
|
|
|
|
}
|
|
|
|
|
//刷新缓存
|
|
|
|
|
String newToken = JwtUtils.getRefreshToken(userToken);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
log.error("TokenExpiredException-------刷新token===============================3====newToken==={}--",newToken);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(StringUtils.isBlank(newToken)){
|
|
|
|
|
SecurityContextHolder.getContext().setAuthentication(null);
|
|
|
|
|
return ResultVoUtil.error();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//重新查询用户基本信息
|
|
|
|
|
User user = this.findByLoginname(userToken.getLoginname());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AdminUserModel adminUserModel = (AdminUserModel) this.formatUserToAdminUserModel(user);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//用户信息缓存
|
|
|
|
|
this.saveSessionUser(adminUserModel);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//更新S_USERONLINE_T 表信息
|
|
|
|
|
this.userTokenOnlineService.updateModel(sourcetokenid,adminUserModel.getId());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//用户名不等于空 并且未认证过 进行登录验证
|
|
|
|
|
if (adminUserModel != null) {
|
|
|
|
|
// 验证通过 构建Secruity登录对象
|
|
|
|
@ -331,14 +331,14 @@ public class UserTokenServiceImpl implements UserTokenService {
|
|
|
|
|
log.error("TokenExpiredException-------刷新token===============================1={}",token);
|
|
|
|
|
return ResultVoUtil.success(token);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 更新spring用户认证
|
|
|
|
|
* @param obj 缓存中的用户对象
|
|
|
|
|
* @param request 用户请求
|
|
|
|
|
*/
|
|
|
|
|
public void updateAuthentication(Object obj,HttpServletRequest request){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AdminUserModel adminUserModel = (AdminUserModel) obj;
|
|
|
|
|
//用户名不等于空 并且未认证过 进行登录验证
|
|
|
|
|
if (adminUserModel != null) {
|
|
|
|
@ -383,7 +383,7 @@ public class UserTokenServiceImpl implements UserTokenService {
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询用户是否存在
|
|
|
|
|
* @param otherno 企业编码
|
|
|
|
@ -414,7 +414,7 @@ public class UserTokenServiceImpl implements UserTokenService {
|
|
|
|
|
return userTenantService.listLoginNameCount(otherno,loginname);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询用户是否存在
|
|
|
|
|
* @param otherno 企业编码
|
|
|
|
@ -432,9 +432,9 @@ public class UserTokenServiceImpl implements UserTokenService {
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public boolean getTenantStatus(String agentcode){
|
|
|
|
|
LambdaQueryWrapper<Tenant> tenantLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
tenantLambdaQueryWrapper.eq(Tenant::getOtherno,agentcode);
|
|
|
|
|
Tenant tenant = tenantService.getOne(tenantLambdaQueryWrapper);
|
|
|
|
|
return tenant != null && tenant.getStatus() == 0;
|
|
|
|
|
LambdaQueryWrapper<Department> tenantLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
tenantLambdaQueryWrapper.eq(Department::getDescription,agentcode);
|
|
|
|
|
Department department = departmentService.getOne(tenantLambdaQueryWrapper);
|
|
|
|
|
return department != null && department.getEnabled() == 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|