维护用户租户关系有问题

dev
zhangdaiscott 2 years ago
parent a8dde73a8c
commit 6ab4ee6a91

@ -929,8 +929,18 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
relation.setUserId(userId); relation.setUserId(userId);
relation.setTenantId(Integer.valueOf(tenantId)); relation.setTenantId(Integer.valueOf(tenantId));
relation.setStatus(CommonConstant.STATUS_1); relation.setStatus(CommonConstant.STATUS_1);
LambdaQueryWrapper sysUserTenantQueryWrapper = new LambdaQueryWrapper<SysUserTenant>()
.eq(SysUserTenant::getUserId, userId)
.eq(SysUserTenant::getTenantId,Integer.valueOf(tenantId));
SysUserTenant tenantPresent = relationMapper.selectOne(sysUserTenantQueryWrapper);
if (tenantPresent != null) {
tenantPresent.setStatus(CommonConstant.STATUS_1);
relationMapper.updateById(tenantPresent);
}else{
relationMapper.insert(relation); relationMapper.insert(relation);
} }
}
}else{ }else{
//是否开启系统管理模块的多租户数据隔离【SAAS多租户模式】 //是否开启系统管理模块的多租户数据隔离【SAAS多租户模式】
if (MybatisPlusSaasConfig.OPEN_SYSTEM_TENANT_CONTROL) { if (MybatisPlusSaasConfig.OPEN_SYSTEM_TENANT_CONTROL) {
@ -960,7 +970,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
LambdaQueryWrapper<SysUserTenant> query = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysUserTenant> query = new LambdaQueryWrapper<>();
query.eq(SysUserTenant::getUserId, userId); query.eq(SysUserTenant::getUserId, userId);
//数据库的租户id //数据库的租户id
List<Integer> oldTenantIds = relationMapper.getTenantIdsNoStatus(userId); List<Integer> oldTenantIds = relationMapper.getTenantIdsByUserId(userId);
//如果传过来的租户id为空那么就删除租户 //如果传过来的租户id为空那么就删除租户
if (oConvertUtils.isEmpty(relTenantIds) && CollectionUtils.isNotEmpty(oldTenantIds)) { if (oConvertUtils.isEmpty(relTenantIds) && CollectionUtils.isNotEmpty(oldTenantIds)) {
this.deleteTenantByUserId(userId, null); this.deleteTenantByUserId(userId, null);

Loading…
Cancel
Save