批量授权修改
continuous-integration/drone/push Build is running
Details
continuous-integration/drone/push Build is running
Details
parent
fb20b1f1b2
commit
1523450b88
|
@ -175,27 +175,31 @@ public class AuditDocumentService(IRepository<AuditDocument> _auditDocumentRepos
|
|||
public async Task<IResponseOutput> SetAuditRecordPermission(SetAuditRecordPermissionCommand inCommand)
|
||||
{
|
||||
|
||||
var find = await _auditRecordPermissionRepository.FirstOrDefaultAsync(t => t.AuditRecordId == inCommand.AuditRecordId && t.AuditDocumentId == inCommand.AuditDocumentId);
|
||||
var list = await _auditRecordPermissionRepository.Where(t => t.AuditRecordId == inCommand.AuditRecordId && inCommand.AuditDocumentIdList.Contains(t.AuditDocumentId)).ToListAsync();
|
||||
|
||||
if (find == null && inCommand.IsAuthorization)
|
||||
foreach (var item in list)
|
||||
{
|
||||
if (inCommand.IsAuthorization)
|
||||
{
|
||||
|
||||
//闭包表中找到 设置Id为祖先的所有 后代 包括自己
|
||||
var matchIdList = await _auditDocumentClosureRepository.Where(t => inCommand.AuditDocumentId == t.AncestorId).Select(t => t.DescendantId).ToListAsync();
|
||||
var matchIdList = await _auditDocumentClosureRepository.Where(t => item.AuditDocumentId == t.AncestorId).Select(t => t.DescendantId).ToListAsync();
|
||||
|
||||
|
||||
foreach (var item in matchIdList)
|
||||
foreach (var matchItem in matchIdList)
|
||||
{
|
||||
await _auditRecordPermissionRepository.AddAsync(new AuditRecordPermission() { AuditRecordId = inCommand.AuditRecordId, AuditDocumentId = item });
|
||||
await _auditRecordPermissionRepository.AddAsync(new AuditRecordPermission() { AuditRecordId = inCommand.AuditRecordId, AuditDocumentId = matchItem });
|
||||
}
|
||||
|
||||
await _auditRecordPermissionRepository.SaveChangesAsync();
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
await _auditRecordPermissionRepository.DeleteFromQueryAsync(t => t.AuditRecordId == inCommand.AuditRecordId && t.AuditDocumentId == inCommand.AuditDocumentId, true);
|
||||
await _auditRecordPermissionRepository.DeleteFromQueryAsync(t => t.AuditRecordId == inCommand.AuditRecordId && t.AuditDocumentId == item.AuditDocumentId, true);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
|
|
@ -80,7 +80,8 @@ public class AuditRecordQuery : PageInput
|
|||
|
||||
public class SetAuditRecordPermissionCommand
|
||||
{
|
||||
public Guid AuditDocumentId { get; set; }
|
||||
|
||||
public List<Guid> AuditDocumentIdList { get; set; }
|
||||
|
||||
public Guid AuditRecordId { get; set; }
|
||||
|
||||
|
|
Loading…
Reference in New Issue