diff --git a/backend/Furion.Extras.Admin.NET/Service/Emp/SysEmpExtOrgPosService.cs b/backend/Furion.Extras.Admin.NET/Service/Emp/SysEmpExtOrgPosService.cs
index 41b60d9582abe1c61f09aa129a3de98bcf1f2ac7..c05b916fcf6d65be6a9928cac46d9639c4390742 100644
--- a/backend/Furion.Extras.Admin.NET/Service/Emp/SysEmpExtOrgPosService.cs
+++ b/backend/Furion.Extras.Admin.NET/Service/Emp/SysEmpExtOrgPosService.cs
@@ -85,8 +85,7 @@ namespace Furion.Extras.Admin.NET.Service
///
public async Task DeleteEmpExtInfoByUserId(long empId)
{
- var empExtOrgPos = await _sysEmpExtOrgPosRep.Where(u => u.SysEmpId == empId).ToListAsync();
- await _sysEmpExtOrgPosRep.DeleteAsync(empExtOrgPos);
+ await _sysEmpExtOrgPosRep.AsQueryable(u => u.SysEmpId == empId, false).DeleteRangeAsync(_sysEmpExtOrgPosRep.Context);
}
}
}
\ No newline at end of file
diff --git a/backend/Furion.Extras.Admin.NET/Service/Emp/SysEmpPosService.cs b/backend/Furion.Extras.Admin.NET/Service/Emp/SysEmpPosService.cs
index bc7441b29a4c3ea14b793f67a1994a252d3b045c..a78cc4a293a846d0b51408ae576868722db3f7eb 100644
--- a/backend/Furion.Extras.Admin.NET/Service/Emp/SysEmpPosService.cs
+++ b/backend/Furion.Extras.Admin.NET/Service/Emp/SysEmpPosService.cs
@@ -72,8 +72,7 @@ namespace Furion.Extras.Admin.NET.Service
///
public async Task DeleteEmpPosInfoByUserId(long empId)
{
- var empPos = await _sysEmpPosRep.Where(u => u.SysEmpId == empId).ToListAsync();
- await _sysEmpPosRep.DeleteAsync(empPos);
+ await _sysEmpPosRep.AsQueryable(u => u.SysEmpId == empId, false).DeleteRangeAsync(_sysEmpPosRep.Context);
}
}
}
\ No newline at end of file
diff --git a/backend/Furion.Extras.Admin.NET/Service/Emp/SysEmpService.cs b/backend/Furion.Extras.Admin.NET/Service/Emp/SysEmpService.cs
index a4ecc593f3da22768ff8ca0124b83159ba117b6f..04013a68ffd76b5f85da322c666f4b8986b24d21 100644
--- a/backend/Furion.Extras.Admin.NET/Service/Emp/SysEmpService.cs
+++ b/backend/Furion.Extras.Admin.NET/Service/Emp/SysEmpService.cs
@@ -97,12 +97,11 @@ namespace Furion.Extras.Admin.NET.Service
///
///
///
- [UnitOfWork]
+ //[UnitOfWork]
public async Task DeleteEmpInfoByUserId(long empId)
{
// 删除员工信息
- var emp = await _sysEmpRep.FirstOrDefaultAsync(u => u.Id == empId);
- await emp.DeleteAsync();
+ await _sysEmpRep.DeleteAsync(empId);
// 级联删除对应的员工-附属信息
await _sysEmpExtOrgPosService.DeleteEmpExtInfoByUserId(empId);
diff --git a/backend/Furion.Extras.Admin.NET/Service/User/SysUserDataScopeService.cs b/backend/Furion.Extras.Admin.NET/Service/User/SysUserDataScopeService.cs
index 379f702aa624fe73683afe85d2bed411352cd635..ba85b7c613ca716b3798c58f92adf1bcc27c5e45 100644
--- a/backend/Furion.Extras.Admin.NET/Service/User/SysUserDataScopeService.cs
+++ b/backend/Furion.Extras.Admin.NET/Service/User/SysUserDataScopeService.cs
@@ -68,8 +68,7 @@ namespace Furion.Extras.Admin.NET.Service
///
public async Task DeleteUserDataScopeListByUserId(long userId)
{
- var dataScopes = await _sysUserDataScopeRep.Where(u => u.SysUserId == userId).ToListAsync();
- await _sysUserDataScopeRep.DeleteAsync(dataScopes);
+ await _sysUserDataScopeRep.AsQueryable(m => m.SysUserId == userId, false).DeleteRangeAsync(_sysUserDataScopeRep.Context);
}
}
}
\ No newline at end of file
diff --git a/backend/Furion.Extras.Admin.NET/Service/User/SysUserRoleService.cs b/backend/Furion.Extras.Admin.NET/Service/User/SysUserRoleService.cs
index 0fd377e03bbbe4da87e4af9d28cc770d4d62c947..e1ab7ca365a0421926cd7c07afe1070c051278c9 100644
--- a/backend/Furion.Extras.Admin.NET/Service/User/SysUserRoleService.cs
+++ b/backend/Furion.Extras.Admin.NET/Service/User/SysUserRoleService.cs
@@ -94,8 +94,7 @@ namespace Furion.Extras.Admin.NET.Service
///
public async Task DeleteUserRoleListByUserId(long userId)
{
- var userRoles = await _sysUserRoleRep.Where(u => u.SysUserId == userId).ToListAsync();
- await _sysUserRoleRep.DeleteAsync(userRoles);
+ await _sysUserRoleRep.Context.DeleteRangeAsync(m => m.SysUserId == userId);
}
}
}
\ No newline at end of file
diff --git a/backend/Furion.Extras.Admin.NET/Service/User/SysUserService.cs b/backend/Furion.Extras.Admin.NET/Service/User/SysUserService.cs
index 25aa7ded9c12f15ab7d2f5e35ae02bfa50035b68..c47632dc6d37b7ad169baf0d8ecba228f36df419 100644
--- a/backend/Furion.Extras.Admin.NET/Service/User/SysUserService.cs
+++ b/backend/Furion.Extras.Admin.NET/Service/User/SysUserService.cs
@@ -74,7 +74,7 @@ namespace Furion.Extras.Admin.NET.Service
.Where(!string.IsNullOrEmpty(pid), x => (x.n.e.OrgId == long.Parse(pid) ||
x.o.Pids.Contains($"[{pid.Trim()}]")))
.Where(input.SearchStatus >= 0, x => x.n.u.Status == input.SearchStatus)
- .Where(!superAdmin, x => x.n.u.AdminType != AdminType.SuperAdmin)
+ .Where(x => x.n.u.AdminType != AdminType.SuperAdmin)//排除超级管理员
.Where(!superAdmin && dataScopes.Count > 0, x => dataScopes.Contains(x.n.e.OrgId))
.Select(u => u.n.u.Adapt())
.ToPagedListAsync(input.PageNo, input.PageSize);
@@ -92,7 +92,7 @@ namespace Furion.Extras.Admin.NET.Service
///
///
[HttpPost("/sysUser/add")]
- [UnitOfWork]
+ //[UnitOfWork]//不能嵌套uow
public async Task AddUser(AddUserInput input)
{
// 数据范围检查
@@ -119,10 +119,13 @@ namespace Furion.Extras.Admin.NET.Service
///
///
[HttpPost("/sysUser/delete")]
- [UnitOfWork]
+ //[UnitOfWork]
public async Task DeleteUser(DeleteUserInput input)
{
- var user = await _sysUserRep.FirstOrDefaultAsync(u => u.Id == input.Id);
+ // 数据范围检查
+ CheckDataScope(input.SysEmpParam.OrgId);
+
+ var user = await _sysUserRep.FirstOrDefaultAsync(u => u.Id == input.Id, false);
if (user == null)
throw Oops.Oh(ErrorCode.D1002);
@@ -135,20 +138,17 @@ namespace Furion.Extras.Admin.NET.Service
if (user.Id == _userManager.UserId)
throw Oops.Oh(ErrorCode.D1001);
- // 数据范围检查
- CheckDataScope(input.SysEmpParam.OrgId);
-
// 直接删除用户
await user.DeleteAsync();
// 删除员工及附属机构职位信息
- await _sysEmpService.DeleteEmpInfoByUserId(user.Id);
+ await _sysEmpService.DeleteEmpInfoByUserId(input.Id);//empId与userId相同
//删除该用户对应的用户-角色表关联信息
- await _sysUserRoleService.DeleteUserRoleListByUserId(user.Id);
+ await _sysUserRoleService.DeleteUserRoleListByUserId(input.Id);
//删除该用户对应的用户-数据范围表关联信息
- await _sysUserDataScopeService.DeleteUserDataScopeListByUserId(user.Id);
+ await _sysUserDataScopeService.DeleteUserDataScopeListByUserId(input.Id);
}
///
@@ -157,7 +157,7 @@ namespace Furion.Extras.Admin.NET.Service
///
///
[HttpPost("/sysUser/edit")]
- [UnitOfWork]
+ //[UnitOfWork]
public async Task UpdateUser(UpdateUserInput input)
{
// 数据范围检查