田爽 1 年間 前
コミット
8fd219024c

+ 18 - 18
src/Hotline.Api/Controllers/FileController.cs

@@ -43,25 +43,25 @@ namespace Hotline.Api.Controllers
 		/// </summary>
 		/// <param name="dtos"></param>
 		/// <returns></returns>
-		[Permission(EPermission.AddFile)]
-		[HttpPost]
-		public async Task Add([FromBody] List<FileDto> dtos)
-		{
-			List<File.File>  files = new List<File.File>();
-            foreach (var dto in dtos)
-            {
-				if (string.IsNullOrEmpty(dto.Key))
-					throw UserFriendlyException.SameMessage("请上传附件关联Key");
+		//[Permission(EPermission.AddFile)]
+		//[HttpPost]
+		//public async Task Add([FromBody] List<FileDto> dtos)
+		//{
+		//	List<File.File>  files = new List<File.File>();
+  //          foreach (var dto in dtos)
+  //          {
+		//		if (string.IsNullOrEmpty(dto.Key))
+		//			throw UserFriendlyException.SameMessage("请上传附件关联Key");
 
-				var model = _mapper.Map<File.File>(dto);
-				model.OrgName = _sessionContext.OrgName;
-				model.OrgId = _sessionContext.OrgId;
-				model.UserId = _sessionContext.UserId;
-				model.UserName = _sessionContext.UserName;
-				files.Add(model);
-			}
-			await _fileRepository.AddRangeAsync(files, HttpContext.RequestAborted);
-		}
+		//		var model = _mapper.Map<File.File>(dto);
+		//		model.OrgName = _sessionContext.OrgName;
+		//		model.OrgId = _sessionContext.OrgId;
+		//		model.UserId = _sessionContext.UserId;
+		//		model.UserName = _sessionContext.UserName;
+		//		files.Add(model);
+		//	}
+		//	await _fileRepository.AddRangeAsync(files, HttpContext.RequestAborted);
+		//}
 
 		/// <summary>
 		/// 删除附件

+ 12 - 9
src/Hotline.Api/Controllers/OrderController.cs

@@ -1323,18 +1323,20 @@ public class OrderController : BaseController
             model.LaunchOrgName = _sessionContext.OrgName;
             model.CrUser = _sessionContext.UserName;
             model.State = 0;
-            var id = await _orderSuperviseRepository.AddAsync(model, HttpContext.RequestAborted);
-            if (dto.Files.Any()) await _fileRepository.AddFileAsync(dto.Files, id, HttpContext.RequestAborted);
+            model.InitId();
+            if (dto.Files.Any()) model.FileJson = await _fileRepository.AddFileAsync(dto.Files, model.Id, HttpContext.RequestAborted);
+			await _orderSuperviseRepository.AddAsync(model, HttpContext.RequestAborted);
+           
             if (dto.AcceptSms)
             {
                 //TODO 发送短信
             }
 
             //推省上
-            if (!string.IsNullOrEmpty(id) && order.Source == ESource.ProvinceStraight)
+            if (!string.IsNullOrEmpty(model.Id) && order.Source == ESource.ProvinceStraight)
             {
                 var orderDto = _mapper.Map<OrderDto>(order);
-                var supervise = await _orderSuperviseRepository.GetAsync(x => x.Id == id);
+                var supervise = await _orderSuperviseRepository.GetAsync(x => x.Id == model.Id);
                 if (supervise != null)
                 {
                     var superviseDto = _mapper.Map<SuperviseOrderDto>(supervise);
@@ -1368,7 +1370,7 @@ public class OrderController : BaseController
         supervise.ReUser = _sessionContext.UserName;
         supervise.ReplyTime = DateTime.Now;
         supervise.State = 1;
-        if (dto.Files.Any()) await _fileRepository.AddFileAsync(dto.Files, supervise.Id, HttpContext.RequestAborted);
+        if (dto.Files.Any()) supervise.ReplyFileJson = await _fileRepository.AddFileAsync(dto.Files, supervise.Id, HttpContext.RequestAborted);
         await _orderSuperviseRepository.UpdateAsync(supervise, HttpContext.RequestAborted);
         var order = await _orderRepository.GetAsync(supervise.OrderId, HttpContext.RequestAborted);
         //推省上
@@ -1480,18 +1482,19 @@ public class OrderController : BaseController
             model.CreatorOrgName = _sessionContext.OrgName;
             model.CrUser = _sessionContext.UserName;
             model.State = 0;
-            var id = await _orderUrgeRepository.AddAsync(model, HttpContext.RequestAborted);
-            if (dto.Files.Any()) await _fileRepository.AddFileAsync(dto.Files, id, HttpContext.RequestAborted);
+            model.InitId();
+            if (dto.Files.Any()) await _fileRepository.AddFileAsync(dto.Files, model.Id, HttpContext.RequestAborted);
+			await _orderUrgeRepository.AddAsync(model, HttpContext.RequestAborted);
             if (dto.AcceptSms)
             {
                 //TODO 发送短信
             }
 
             //推省上
-            if (!string.IsNullOrEmpty(id) && order.Source == ESource.ProvinceStraight)
+            if (!string.IsNullOrEmpty(model.Id) && order.Source == ESource.ProvinceStraight)
             {
                 var orderDto = _mapper.Map<OrderDto>(order);
-                var urge = await _orderUrgeRepository.GetAsync(x => x.Id == id);
+                var urge = await _orderUrgeRepository.GetAsync(x => x.Id == model.Id);
                 if (urge != null)
                 {
                     var urgeDto = _mapper.Map<UrgeOrderDto>(urge);

+ 1 - 0
src/Hotline.Repository.SqlSugar/File/FileRepository.cs

@@ -26,6 +26,7 @@ namespace Hotline.Repository.SqlSugar.File
 		public async Task<string> AddFileAsync(List<FileDto> files, string id, CancellationToken cancellationToken) 
 		{
 			List<Hotline.File.File> newFiles =  new List<Hotline.File.File>();
+			files = files.Where(x => string.IsNullOrEmpty(x.Id)).ToList();
 			foreach (FileDto file in files)
 			{
 				file.OrgName = _sessionContext.OrgName;

+ 3 - 0
src/Hotline.Share/Dtos/File/FileDto.cs

@@ -9,6 +9,9 @@ namespace Hotline.Share.Dtos.File
 {
 	public class FileDto
 	{
+
+		public string? Id { get; set; }
+
 		/// <summary>
 		/// 附件名称
 		/// </summary>

+ 1 - 1
src/Hotline/Orders/Order.cs

@@ -579,7 +579,7 @@ namespace Hotline.Orders
 
 		#region 附件冗余
 		[SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)]
-		public string FileJson { get; set; }
+		public string? FileJson { get; set; }
 		#endregion
 	}
 

+ 1 - 1
src/Hotline/Orders/OrderScreen.cs

@@ -99,7 +99,7 @@ namespace Hotline.Orders
 		public Workflow? Workflow { get; set; }
 
 		[SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)]
-		public string FileJson { get; set; }
+		public string? FileJson { get; set; }
 
 	}
 }

+ 7 - 0
src/Hotline/Orders/OrderSupervise.cs

@@ -93,5 +93,12 @@ namespace Hotline.Orders {
 		/// </summary>
 		[SugarColumn(ColumnDescription = "省督办编号")]
 		public string? SuperviseSerial {  get; set; }
+
+
+		[SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)]
+		public string? FileJson { get; set; }
+
+		[SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)]
+		public string? ReplyFileJson { get; set; }
 	}
 }

+ 5 - 0
src/Hotline/Orders/OrderUrge.cs

@@ -88,6 +88,11 @@ namespace Hotline.Orders {
 		[SugarColumn(ColumnDescription = "签收人")]
 		public string? SignUser { get; set; }
 
+		[SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)]
+		public string? FileJson { get; set; }
+
+		[SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)]
+		public string? ReplyFileJson { get; set; }
 	}
 }