Dun.Jason 6 mesiacov pred
rodič
commit
1cbe840872

+ 3 - 2
src/Hotline.Api/Controllers/CallController.cs

@@ -105,10 +105,11 @@ namespace Hotline.Api.Controllers
         /// <returns></returns>
         /// <exception cref="NotImplementedException"></exception>
         [HttpGet("{callId}")]
-        public Task<CallNative?> GetCall(string callId)
+        public Task<List<CallNative>> GetCall(string callId)
         {
+            //为兼容天润通话记录返回集合
             if (string.IsNullOrEmpty(callId)) return default;
-            return _callApplication.GetCallAsync(callId, HttpContext.RequestAborted);
+            return _callApplication.GetCallListAsync(callId, HttpContext.RequestAborted);
         }
 
         /// <summary>

+ 14 - 2
src/Hotline.Application/CallCenter/DefaultCallApplication.cs

@@ -289,10 +289,22 @@ public abstract class DefaultCallApplication : ICallApplication
     /// <summary>
     /// 查询通话记录
     /// </summary>
-    public virtual async Task<CallNative?> GetCallAsync(string callId, CancellationToken cancellationToken)
+    public virtual async Task<CallNative> GetCallAsync(string callId, CancellationToken cancellationToken)
     {
         if (string.IsNullOrEmpty(callId)) return null;
-        return await _callNativeRepository.GetAsync(callId, cancellationToken);
+        return await _callNativeRepository.GetAsync(callId,cancellationToken);
+    }
+
+    /// <summary>
+    /// 查询通话记录列表
+    /// </summary>
+    /// <param name="callId"></param>
+    /// <param name="cancellationToken"></param>
+    /// <returns></returns>
+    public virtual async Task<List<CallNative>> GetCallListAsync(string callId,CancellationToken cancellationToken)
+    {
+        if(string.IsNullOrEmpty(callId)) return null;
+        return await _callNativeRepository.Queryable().Where(x => x.Id == callId).ToListAsync(cancellationToken);
     }
 
     /// <summary>

+ 8 - 0
src/Hotline.Application/CallCenter/ICallApplication.cs

@@ -86,9 +86,17 @@ namespace Hotline.Application.CallCenter
         /// </summary>
         Task<int> UpdateRelationOptLockAsync(CallidRelation relation, CancellationToken cancellationToken);
 
+        /// <summary>
+        /// 查询通话记录列表
+        /// </summary>
+        Task<List<CallNative>> GetCallListAsync(string callId, CancellationToken cancellationToken);
+
         /// <summary>
         /// 查询通话记录
         /// </summary>
+        /// <param name="callId"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
         Task<CallNative?> GetCallAsync(string callId, CancellationToken cancellationToken);
 
         /// <summary>

+ 15 - 2
src/Hotline.Application/CallCenter/TianRunCallApplication.cs

@@ -185,8 +185,21 @@ namespace Hotline.Application.CallCenter
         public override async Task<CallNative?> GetCallAsync(string callId, CancellationToken cancellationToken)
         {
             var call = await _trCallRecordRepository.Queryable()
-                .FirstAsync(d => d.OtherAccept == callId, cancellationToken);
-            return _mapper.Map<CallNative>(call);
+                .FirstAsync(d => d.OtherAccept == callId,cancellationToken);
+            return _mapper.Map<CallNative?>(call);
+        }
+
+        /// <summary>
+        /// 查询通话记录列表
+        /// </summary>
+        /// <param name="callId"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public override async Task<List<CallNative>> GetCallListAsync(string callId, CancellationToken cancellationToken)
+        {
+            var call = await _trCallRecordRepository.Queryable()
+                .Where(d => d.OtherAccept == callId).ToListAsync(cancellationToken);
+            return _mapper.Map<List<CallNative>>(call);
         }
     }
 }