瀏覽代碼

修复通话记录不能查询出工单信息问题

qinchaoyue 1 周之前
父節點
當前提交
cf07288c90

+ 8 - 4
src/Hotline.Application/CallCenter/DefaultCallApplication.cs

@@ -362,15 +362,19 @@ public abstract class DefaultCallApplication : ICallApplication
 
         if (dto.Type == 2)
         {
-            return query.Select((d, o, v) => new CallNativeDto
+            var d = query.Select((d, o, v) => new CallNativeDto
             {
-                OrderId = v.OrderId,
-                OrderNo = v.Order.No,
-                Title = v.Order.Title,
+                OrderId = SqlFunc.IsNull(v.OrderId, v.OrderId),
+                OrderNo = SqlFunc.IsNull(v.Order.No, o.No),
+                Title = SqlFunc.IsNull(v.Order.Title, o.Title),
                 CallState = d.CallState,
                 IsVisit = !SqlFunc.IsNullOrEmpty(v.Id),
                 IsOrder = !SqlFunc.IsNullOrEmpty(o.Id),
             }, true);
+#if DEBUG
+            var sql = d.ToSqlString();
+#endif
+            return d;
         }
         if (dto.Type == 3)
         {

+ 5 - 3
test/Hotline.Tests/Application/DefaultCallApplicationTest.cs

@@ -59,9 +59,11 @@ public class DefaultCallApplicationTest : TestBase
     public async Task QueryCallsFixed_Test()
     {
         var inDto = new QueryCallsFixedDto();
-        inDto.CallStartTimeEnd = DateTime.Now;
-        inDto.CallStartTimeStart = "2024/10/01 00:00:00".ObjToDate();
-        inDto.StaffNo = "8029";
+        //inDto.CallStartTimeEnd = DateTime.Now;
+        //inDto.CallStartTimeStart = "2024/10/01 00:00:00".ObjToDate();
+        //inDto.StaffNo = "8029";
+        inDto.Type = 2;
+        inDto.ToNo = "15892228077";
 
         var items = await _defaultCallApplication.QueryCallsFixedAsync(inDto, new CancellationToken()).ToPageListWithoutTotalAsync(inDto, CancellationToken.None);
         items.ShouldNotBeNull();