fix 修复 管理租户被修改导致无法登录超管账号问题

This commit is contained in:
疯狂的狮子Li 2023-03-13 23:29:05 +08:00
parent 4f301205fe
commit 0ec6fbd34c
4 changed files with 23 additions and 0 deletions

View File

@ -8,6 +8,7 @@ import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.constant.GlobalConstants; import com.ruoyi.common.core.constant.GlobalConstants;
import com.ruoyi.common.core.constant.TenantConstants;
import com.ruoyi.common.core.domain.dto.RoleDTO; import com.ruoyi.common.core.domain.dto.RoleDTO;
import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.domain.model.XcxLoginUser; import com.ruoyi.common.core.domain.model.XcxLoginUser;
@ -325,6 +326,9 @@ public class SysLoginService {
if (!TenantHelper.isEnable()) { if (!TenantHelper.isEnable()) {
return; return;
} }
if (TenantConstants.DEFAULT_TENANT_ID.equals(tenantId)) {
return;
}
SysTenantVo tenant = tenantService.queryByTenantId(tenantId); SysTenantVo tenant = tenantService.queryByTenantId(tenantId);
if (ObjectUtil.isNull(tenant)) { if (ObjectUtil.isNull(tenant)) {
log.info("登录租户:{} 不存在.", tenantId); log.info("登录租户:{} 不存在.", tenantId);

View File

@ -104,6 +104,7 @@ public class SysTenantController extends BaseController {
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysTenantBo bo) { public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysTenantBo bo) {
sysTenantService.checkTenantAllowed(bo.getTenantId());
if (!sysTenantService.checkCompanyNameUnique(bo)) { if (!sysTenantService.checkCompanyNameUnique(bo)) {
throw new ServiceException("修改租户'" + bo.getCompanyName() + "'失败,公司名称已存在"); throw new ServiceException("修改租户'" + bo.getCompanyName() + "'失败,公司名称已存在");
} }
@ -118,6 +119,7 @@ public class SysTenantController extends BaseController {
@Log(title = "租户", businessType = BusinessType.UPDATE) @Log(title = "租户", businessType = BusinessType.UPDATE)
@PutMapping("/changeStatus") @PutMapping("/changeStatus")
public R<Void> changeStatus(@RequestBody SysTenantBo bo) { public R<Void> changeStatus(@RequestBody SysTenantBo bo) {
sysTenantService.checkTenantAllowed(bo.getTenantId());
return toAjax(sysTenantService.updateTenantStatus(bo)); return toAjax(sysTenantService.updateTenantStatus(bo));
} }

View File

@ -50,6 +50,11 @@ public interface ISysTenantService {
*/ */
int updateTenantStatus(SysTenantBo bo); int updateTenantStatus(SysTenantBo bo);
/**
* 校验租户是否允许操作
*/
void checkTenantAllowed(String tenantId);
/** /**
* 校验并批量删除租户信息 * 校验并批量删除租户信息
*/ */

View File

@ -271,6 +271,18 @@ public class SysTenantServiceImpl implements ISysTenantService {
return baseMapper.updateById(tenant); return baseMapper.updateById(tenant);
} }
/**
* 校验租户是否允许操作
*
* @param tenantId 租户ID
*/
@Override
public void checkTenantAllowed(String tenantId) {
if (ObjectUtil.isNotNull(tenantId) && TenantConstants.DEFAULT_TENANT_ID.equals(tenantId)) {
throw new ServiceException("不允许操作管理租户");
}
}
/** /**
* 批量删除租户 * 批量删除租户
*/ */