Ver Fonte

Merge branch 'master' of http://110.188.24.182:10023/Fengwo/hotline

xf há 1 ano atrás
pai
commit
e9105252e8

+ 16 - 1
src/Hotline.Api/Controllers/IPPbxController.cs

@@ -24,6 +24,7 @@ using Tr.Sdk;
 using Tr.Sdk.Blacklist;
 using Tr.Sdk.Tels;
 using XF.Domain.Authentications;
+using XF.Domain.Constants;
 using XF.Domain.Exceptions;
 using XF.Domain.Filters;
 using XF.Domain.Repository;
@@ -52,6 +53,7 @@ namespace Hotline.Api.Controllers
         private readonly IRepository<Quality.Quality> _qualiteyRepository;
         private readonly IAiQualityService _aiQualityService;
         private readonly IRepository<QualityTemplate> _qualityTemplate;
+        private readonly ISystemSettingCacheManager _systemSettingCacheManager;
 
 
         public IPPbxController(ITrClient trClient, IMapper mapper, IUserDomainService userDomainService,
@@ -62,7 +64,7 @@ namespace Hotline.Api.Controllers
             IUserCacheManager userCacheManager, ICapPublisher capPublisher,
             ITelRestRepository telRestRepository, IRepository<User> userRepository,
             ITelApplication telApplication, IRepository<Quality.Quality> qualiteyRepository,
-            IAiQualityService aiQualityService, IRepository<QualityTemplate> qualityTemplate)
+            IAiQualityService aiQualityService, IRepository<QualityTemplate> qualityTemplate, ISystemSettingCacheManager systemSettingCacheManager)
         {
             _trClient = trClient;
             _mapper = mapper;
@@ -83,6 +85,7 @@ namespace Hotline.Api.Controllers
             _qualiteyRepository = qualiteyRepository;
             _aiQualityService = aiQualityService;
             _qualityTemplate = qualityTemplate;
+            _systemSettingCacheManager = systemSettingCacheManager;
         }
 
         #region 添添呼
@@ -258,11 +261,23 @@ namespace Hotline.Api.Controllers
         public async Task<OpenResponse> ReceiveCallRecord([FromBody] ReceiveCallRecordDto dto)
         {
             _logger.LogInformation($"收到通话记录结果回传:{JsonConvert.SerializeObject(dto)}");
+
+            var settings = _systemSettingCacheManager.GetSetting(SettingConstants.TapeAddress);
+
+
             var model = _mapper.Map<TrCallRecord>(dto);
             model.Duration = 0;
             model.RingTimes = 0;
             model.QueueTims = 0;
             model.OnState = Share.Enums.CallCenter.EOnState.NoOn;
+            try
+            {
+                if (!string.IsNullOrEmpty(settings?.SettingValue[0]) && !string.IsNullOrEmpty(settings?.SettingValue[1]) && !string.IsNullOrEmpty(model.RecordingFileUrl))
+                {
+                    model.RecordingFileUrl = model.RecordingFileUrl.Replace(settings?.SettingValue[0], settings?.SettingValue[1]);
+                }
+            }
+            catch{}
             //计算通话时长
             if (model.AnsweredTime != null)
             {

+ 2 - 0
src/Hotline/Settings/SysDicTypeConsts.cs

@@ -203,4 +203,6 @@ public class SysDicTypeConsts
     /// 网民评价类型
     /// </summary>
     public const string NetizenEvaluateType = "NetizenEvaluateType";
+
+    
 }

+ 5 - 0
src/XF.Domain/Constants/SettingConstants.cs

@@ -157,5 +157,10 @@ namespace XF.Domain.Constants
         /// </summary>
         public const string LoginCodeWhiteList = "LoginCodeWhiteList";
 
+        /// <summary>
+        /// 录音地址配置
+        /// </summary>
+        public const string TapeAddress = "TapeAddress";
+
     }
 }