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