From ad7ac8044497db72662891ec6c98437a307183d2 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Mon, 7 Apr 2025 15:11:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=8D=E5=88=B6=E7=A8=BD=E6=9F=A5=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Document/AuditDocumentService.cs | 62 +++++++++++++++---- .../Service/Document/_MapConfig.cs | 1 + 2 files changed, 50 insertions(+), 13 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs b/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs index da6fee876..266f49ba6 100644 --- a/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs +++ b/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs @@ -335,13 +335,10 @@ public class AuditDocumentService(IRepository _auditDocumentRepos var file = data.Where(x => x.Id == id).FirstOrDefault(); if (file.AuditDocumentTypeEnum == AuditDocumentType.Folder) { - - if (finChild(new List { id }, inDto.ParentId, data)) { throw new BusinessValidationFailedException(_localizer["AuditDocument_CanNotMove"]); } - } } @@ -367,10 +364,6 @@ public class AuditDocumentService(IRepository _auditDocumentRepos foreach (var id in inDto.Ids) { - - - - await _auditDocumentRepository.UpdatePartialFromQueryAsync(id, x => new AuditDocument() { ParentId = inDto.ParentId @@ -382,13 +375,56 @@ public class AuditDocumentService(IRepository _auditDocumentRepos return ResponseOutput.Ok(); } + /// + /// 复制文件或者文件夹 + /// + /// + /// + [HttpPost] + public async Task CopyFileOrFolder(MovieFileOrFolderInDto inDto) + { - /// - /// 获取历史版本 - /// - /// - /// - [HttpPost] + foreach (var item in inDto.Ids) + { + var data = (await GetAuditDocumentData(new GetAuditDocumentDataInDto() + { + Id =item, + PageIndex=1, + PageSize= 1000 + })).CurrentPageData; + + List auditDocumentAddOrEdits = _mapper.Map>(inDto); + auditDocumentAddOrEdits.ForEach(x => x.IsUpdate = false); + await addData(auditDocumentAddOrEdits); + } + + async Task addData(List data) + { + foreach (var item in data) + { + var result = await AddOrUpdateAuditDocument(item); + + item.Children.ForEach(x => { + x.ParentId = result.Id; + x.IsUpdate = false; + + }); + + if (item.Children.Count() > 0) + { + await addData(item.Children); + } + } + } + return ResponseOutput.Ok(); + } + + /// + /// 获取历史版本 + /// + /// + /// + [HttpPost] public async Task> GetHistoricalVersion(GetHistoricalVersionInDto inDto) { diff --git a/IRaCIS.Core.Application/Service/Document/_MapConfig.cs b/IRaCIS.Core.Application/Service/Document/_MapConfig.cs index bdb49c496..d68f6a68a 100644 --- a/IRaCIS.Core.Application/Service/Document/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Document/_MapConfig.cs @@ -14,6 +14,7 @@ namespace IRaCIS.Core.Application.Service var userId = Guid.Empty; var isEn_Us = false; + CreateMap(); CreateMap(); CreateMap(); CreateMap();