修改取消授权
continuous-integration/drone/push Build is passing Details

Test_IRC_Net8
hang 2025-09-29 13:58:33 +08:00
parent c8d5b94154
commit b835a028ad
1 changed files with 5 additions and 6 deletions

View File

@ -200,22 +200,21 @@ public class AuditDocumentService(IRepository<AuditDocument> _auditDocumentRepos
foreach (var item in list) foreach (var item in list)
{ {
//闭包表中找到 设置Id为祖先的所有 后代 包括自己
var matchIdList = await _auditDocumentClosureRepository.Where(t => item.Id == t.AncestorId).Select(t => t.DescendantId).ToListAsync();
if (inCommand.IsAuthorization) if (inCommand.IsAuthorization)
{ {
//闭包表中找到 设置Id为祖先的所有 后代 包括自己
var matchIdList = await _auditDocumentClosureRepository.Where(t => item.Id == t.AncestorId).Select(t => t.DescendantId).ToListAsync();
foreach (var matchItem in matchIdList) foreach (var matchItem in matchIdList)
{ {
await _auditRecordPermissionRepository.AddAsync(new AuditRecordPermission() { AuditRecordId = inCommand.AuditRecordId, AuditDocumentId = matchItem }); await _auditRecordPermissionRepository.AddAsync(new AuditRecordPermission() { AuditRecordId = inCommand.AuditRecordId, AuditDocumentId = matchItem });
} }
} }
else else
{ {
await _auditRecordPermissionRepository.DeleteFromQueryAsync(t => t.AuditRecordId == inCommand.AuditRecordId && t.AuditDocumentId == item.Id); await _auditRecordPermissionRepository.BatchDeleteNoTrackingAsync(t => t.AuditRecordId == inCommand.AuditRecordId && matchIdList.Contains(t.AuditDocumentId));
} }