😎限制删除被开放接口绑定的用户和租户

This commit is contained in:
zuohuaijun 2024-07-20 23:24:16 +08:00
parent 1567099226
commit f52f7aa1ed
3 changed files with 23 additions and 0 deletions

View File

@ -211,6 +211,18 @@ public enum ErrorCodeEnum
[ErrorCodeItemMetadata("系统默认账号禁止删除")]
D1029,
/// <summary>
/// 开放接口绑定账号禁止删除
/// </summary>
[ErrorCodeItemMetadata("开放接口绑定账号禁止删除")]
D1030,
/// <summary>
/// 开放接口绑定租户禁止删除
/// </summary>
[ErrorCodeItemMetadata("开放接口绑定租户禁止删除")]
D1031,
/// <summary>
/// 父机构不存在
/// </summary>

View File

@ -265,6 +265,11 @@ public class SysTenantService : IDynamicApiController, ITransient
if (input.Id.ToString() == SqlSugarConst.MainConfigId)
throw Oops.Oh(ErrorCodeEnum.D1023);
// 若账号为开放接口绑定租户则禁止删除
var isOpenAccessTenant = await _sysTenantRep.ChangeRepository<SqlSugarRepository<SysOpenAccess>>().IsAnyAsync(u => u.BindTenantId == input.Id);
if (isOpenAccessTenant)
throw Oops.Oh(ErrorCodeEnum.D1031);
await _sysTenantRep.DeleteAsync(u => u.Id == input.Id);
await CacheTenant(input.Id);

View File

@ -172,11 +172,17 @@ public class SysUserService : IDynamicApiController, ITransient
throw Oops.Oh(ErrorCodeEnum.D1014);
if (user.Id == _userManager.UserId)
throw Oops.Oh(ErrorCodeEnum.D1001);
// 若账号为租户默认账号则禁止删除
var isTenantUser = await _sysUserRep.ChangeRepository<SqlSugarRepository<SysTenant>>().IsAnyAsync(u => u.UserId == input.Id);
if (isTenantUser)
throw Oops.Oh(ErrorCodeEnum.D1029);
// 若账号为开放接口绑定账号则禁止删除
var isOpenAccessUser = await _sysUserRep.ChangeRepository<SqlSugarRepository<SysOpenAccess>>().IsAnyAsync(u => u.BindUserId == input.Id);
if (isOpenAccessUser)
throw Oops.Oh(ErrorCodeEnum.D1030);
// 强制下线
await _sysOnlineUserService.ForceOffline(user.Id);