فهرست منبع

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

Dun.Jason 8 ماه پیش
والد
کامیت
54aab7bd04

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

@@ -13,6 +13,7 @@ using Hotline.Share.Dtos.TrCallCenter;
 using Hotline.Share.Enums.CallCenter;
 using Microsoft.AspNetCore.Mvc;
 using Microsoft.Extensions.Options;
+using System.Threading;
 using XF.Domain.Exceptions;
 using XF.Utility.EnumExtensions;
 
@@ -104,10 +105,10 @@ namespace Hotline.Api.Controllers
         /// <returns></returns>
         /// <exception cref="NotImplementedException"></exception>
         [HttpGet("{callId}")]
-        public Task<CallNativeDto?> GetCall(string callId)
+        public Task<CallNative?> GetCall(string callId)
         {
             if (string.IsNullOrEmpty(callId)) return default;
-            return _callApplication.GetTelAsync(callId, HttpContext.RequestAborted);
+            return _callApplication.GetCallAsync(callId, HttpContext.RequestAborted);
         }
 
         /// <summary>

+ 2 - 2
src/Hotline.Api/config/appsettings.Development.json

@@ -59,13 +59,13 @@
     }
   },
   "ConnectionStrings": {
-    "Hotline": "PORT=5432;DATABASE=hotline_dev;HOST=110.188.24.182;PASSWORD=fengwo11!!;USER ID=dev;"
+    "Hotline": "PORT=5432;DATABASE=hotline;HOST=110.188.24.182;PASSWORD=fengwo11!!;USER ID=dev;"
   },
   "Cache": {
     "Host": "110.188.24.182",
     "Port": 50179,
     "Password": "fengwo123!$!$",
-    "Database": 5 //release:3, dev:5
+    "Database": 3 //release:3, dev:5
   },
   "Swagger": true,
   "Cors": {

+ 0 - 13
src/Hotline.Application/CallCenter/DefaultCallApplication.cs

@@ -316,19 +316,6 @@ public abstract class DefaultCallApplication : ICallApplication
             .ToListAsync(cancellationToken);
     }
 
-    /// <summary>
-    /// 查询通话记录
-    /// </summary>
-    /// <param name="callId"></param>
-    /// <param name="cancellationToken"></param>
-    /// <returns></returns>
-    public async Task<CallNativeDto?> GetTelAsync(string callId, CancellationToken cancellationToken)
-    {
-        var call = await _callNativeRepository.Queryable()
-             .FirstAsync(d => d.Id == callId, cancellationToken);
-        return _mapper.Map<CallNativeDto>(call);
-    }
-
     #region tianrun 临时方案
 
     public virtual Task<TrCallRecord?> GetTianrunCallAsync(string callId, CancellationToken cancellationToken)

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

@@ -138,13 +138,5 @@ namespace Hotline.Application.CallCenter
         /// </summary>
         /// <returns></returns>
         List<Kv> GetTelOperationOptions();
-
-        /// <summary>
-        /// 查询通话记录
-        /// </summary>
-        /// <param name="callId"></param>
-        /// <param name="cancellationToken"></param>
-        /// <returns></returns>
-        Task<CallNativeDto?> GetTelAsync(string callId, CancellationToken cancellationToken);
     }
 }

+ 1 - 0
src/Hotline.Application/CallCenter/XingTangCallApplication.cs

@@ -31,6 +31,7 @@ using XingTang.Sdk;
 
 namespace Hotline.Application.CallCenter
 {
+    //临时方案,后续需重构为:业务内部统一采用CallNative
     public class XingTangCallApplication : DefaultCallApplication
     {
         // private readonly IRepository<Tel> _telRepository;

+ 20 - 0
src/Hotline.Application/Jobs/XingTangCallsSyncJob.cs

@@ -8,6 +8,11 @@ using MapsterMapper;
 using Microsoft.Extensions.Logging;
 using XF.Domain.Repository;
 using XingTang.Sdk;
+using DotNetCore.CAP;
+using Hotline.Share.Dtos.Order;
+using Hotline.Share.Dtos.TrCallCenter;
+using Hotline.Share.Enums.CallCenter;
+using System.Dynamic;
 
 namespace Hotline.Application.Jobs
 {
@@ -19,6 +24,7 @@ namespace Hotline.Application.Jobs
         private readonly IRepository<CallNative> _callRepository;
         private readonly IRepository<User> _userRepository;
         private readonly ICallApplication _callApplication;
+        private readonly ICapPublisher _capPublisher;
         private readonly IMapper _mapper;
         private readonly ILogger<XingTangCallsSyncJob> _logger;
         private readonly ISqlSugarClient _db;
@@ -28,12 +34,14 @@ namespace Hotline.Application.Jobs
             IRepository<CallNative> callRepository,
             IRepository<User> userRepository,
             ICallApplication callApplication,
+            ICapPublisher capPublisher,
             IMapper mapper,
             ILogger<XingTangCallsSyncJob> logger)
         {
             _callRepository = callRepository;
             _userRepository = userRepository;
             _callApplication = callApplication;
+            _capPublisher = capPublisher;
             _mapper = mapper;
             _logger = logger;
             _db = uow.Db;
@@ -80,6 +88,18 @@ namespace Hotline.Application.Jobs
                 }
 
                 await _callRepository.AddRangeAsync(calls, context.CancellationToken);
+
+                //推省上
+                if (calls.Any())
+                {
+                    await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineCallAdd, calls);
+                }
+                ////todo
+                //var callIns = calls.Where(d => d.Direction == ECallDirection.In).ToList();
+                //if (callIns.Any())
+                //{
+                //    await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineCallAdd, callIns);
+                //}
             }
             catch (Exception e)
             {

+ 3 - 3
src/Hotline.Application/Orders/OrderSecondaryHandlingApplication.cs

@@ -158,9 +158,9 @@ namespace Hotline.Application.Orders
                 var order = await _orderRepository.GetAsync(x => x.Id == model.OrderId, cancellationToken);
                 if (string.IsNullOrEmpty(order.WorkflowId))
                     throw UserFriendlyException.SameMessage("无效二次办理审批信息,没有找到对应流程信息!");
-                var step = order.CounterSignType == ECounterSignType.Department ?
-                    await _workflowDomainService.FindTopHandleStepAsync(order.WorkflowId, cancellationToken) : await _workflowDomainService.FindLastHandleStepAsync(order.WorkflowId, model.ApplyOrgId, cancellationToken);
-                if (step == null)
+                string orgId = order.CounterSignType == ECounterSignType.Department ? model.ApplyOrgId.Substring(0, 6) : model.ApplyOrgId;
+				var step = await _workflowDomainService.FindLastHandleStepAsync(order.WorkflowId, orgId, cancellationToken);
+				if (step == null)
                     throw UserFriendlyException.SameMessage("无效二次办理审批信息,没有找到对应流程节点!");
                 var recall = new RecallDto
                 {

+ 1 - 1
src/Hotline.Share/Hotline.Share.csproj

@@ -7,7 +7,7 @@
     <GenerateDocumentationFile>True</GenerateDocumentationFile>
     <NoWarn>$(NoWarn);1591;8618;</NoWarn>
     <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
-    <Version>1.0.91</Version>
+    <Version>1.0.92</Version>
   </PropertyGroup>
 
   <ItemGroup>

+ 10 - 0
src/Hotline.Share/Mq/EventNames.Call.cs

@@ -11,4 +11,14 @@ public partial class EventNames
     /// 通话记录与工单关联
     /// </summary>
     public const string HotlineCallConnectWithOrder = "hotline.call.connect.order";
+
+    /// <summary>
+    /// 新增呼叫记录
+    /// </summary>
+    public const string HotlineCallAdd = "hotline.call.add";
+
+    /// <summary>
+    /// 通话记录关联工单
+    /// </summary>
+    public const string HotlineCallNativeConnectOrder = "hotline.callnative.connect.order";
 }