Переглянути джерело

Merge branch 'master' of http://git.12345lm.cn/Fengwo/hotline

Dun.Jason 1 рік тому
батько
коміт
df2ab26cde

+ 11 - 6
src/Hotline.Ai.Jths/AiQualityService.cs

@@ -24,17 +24,21 @@ namespace Hotline.Ai.Jths
 
         public async Task CreateAiOrderQualityTask(Hotline.Quality.Quality model, TrCallRecord call, Order order, CancellationToken cancellationToken)
 		{
-			AiQualityDto  aiQuality = new AiQualityDto
+			var fileName = call.RecordingFileName.Split(".");
+			var recordForm = fileName.Any() && fileName.Length > 1 ? fileName[1] : string.Empty;
+			List<AiQualityDto> datalist = new List<AiQualityDto>();
+			AiQualityDto aiQuality = new AiQualityDto
 			{
 				RecordID = model.Id,
 				RecordPath = call.RecordingFileUrl,
-				AgentID = order.AcceptorStaffNo!,
+				AgentID = string.IsNullOrEmpty(order.AcceptorStaffNo) ? "999" : order.AcceptorStaffNo,
 				CallNumber = call.CPN,
 				CallTime = call.CreatedTime.ToString("yyyy-MM-dd HH:mm:ss"),
-				RecordForm = model.Id,
+				RecordForm = recordForm,
 				Extend = model.Source.ToString(),
 			};
-			var data =JsonConvert.SerializeObject(aiQuality);
+			datalist.Add(aiQuality);
+			var data =JsonConvert.SerializeObject(datalist);
 			await ExecuteAsync(_baseUrl+"routeinfo/api", Method.Post, data, cancellationToken);
 		}
 
@@ -71,9 +75,10 @@ namespace Hotline.Ai.Jths
 			req.AddHeader("content-type", "application/json");
 			req.AddHeader("token", "");
 			req.AddHeader("version", "1.0");
-			var appkey = MD5Encrypt(request.ToString());
-			req.AddHeader("appkey", appkey);
+			var sign = MD5Encrypt(request.ToString());
+			req.AddHeader("sign", sign);
 			req.AddHeader("signType", "md5");
+			req.AddHeader("appkey", "MTAwMDAx");
 			if (httpMethod is Method.Get)
 			{
 				req.AddObject(request);

+ 10 - 5
src/Hotline.Api/Controllers/QualityController.cs

@@ -196,11 +196,16 @@ namespace Hotline.Api.Controllers
 			List<QualityItem> items = await _qualiteyItem.Queryable().In(x => x.Id, dto.Ids).ToListAsync();
             foreach (var item in items)
             {
-	            var detail = await _qualiteyDetail.Queryable().Where(x => x.Name == item.Name && !x.IsDeleted).AnyAsync();
-				//质检中已存在 启用状态不可以删
-				if (item.IsEnable == 0 || detail) items.Remove(item);
-}
-            if (items.Any()) await _qualiteyItem.RemoveRangeAsync(items,true, HttpContext.RequestAborted);
+	            var detail = await _qualiteyDetail.Queryable().Where(x => x.Name == item.Name).AnyAsync();
+				//质检中已存在不可以删
+				if (detail) items.Remove(item);
+			}
+			if (items.Any())
+			{
+				await _qualiteyItem.RemoveRangeAsync(items, true, HttpContext.RequestAborted);
+				var tempItems = await _qualiteyTemplateDetail.Queryable().In(x => x.ItemId, items.Select(x => x.Id)).ToListAsync(HttpContext.RequestAborted);
+				if (tempItems.Any()) await _qualiteyTemplateDetail.RemoveRangeAsync(tempItems, HttpContext.RequestAborted);			
+			}
 		}
 
 		/// <summary>

+ 1 - 1
src/Hotline.Share/Dtos/Quality/AiQualityDto.cs

@@ -11,7 +11,7 @@ namespace Hotline.Share.Dtos.Quality
 		/// <summary>
 		/// 录音来源方式:sftp,ftp,http,nas
 		/// </summary>
-		public string AudioSource { get; set; } = "ftp";
+		public string AudioSource { get; set; } = "http";
 
 		/// <summary>
 		/// 工单号:录音的唯一ID