|
@@ -1,5 +1,6 @@
|
|
|
using Hotline.Application.CallCenter.Calls;
|
|
|
using Hotline.Caching.Interfaces;
|
|
|
+using Hotline.Caching.Services;
|
|
|
using Hotline.CallCenter.Calls;
|
|
|
using Hotline.Orders;
|
|
|
using Hotline.Permissions;
|
|
@@ -38,8 +39,9 @@ namespace Hotline.Api.Controllers
|
|
|
private readonly ILogger<IPPbxController> _logger;
|
|
|
private readonly IOrderRepository _orderRepository;
|
|
|
private readonly IRepository<OrderVisit> _orderVisitRepository;
|
|
|
+ private readonly IUserCacheManager _userCacheManager;
|
|
|
|
|
|
- public IPPbxController(ITrClient trClient,IMapper mapper,IUserDomainService userDomainService,ISessionContext sessionContext,IRepository<TrCallRecord> trCallRecordRepository,ITrApplication trApplication,IRepository<TrCallEvaluate> trCallRecord,ISystemDicDataCacheManager systemDicDataCacheManager,ILogger<IPPbxController> logger,IOrderRepository orderRepository,IRepository<OrderVisit> orderVisitRepository)
|
|
|
+ public IPPbxController(ITrClient trClient,IMapper mapper,IUserDomainService userDomainService,ISessionContext sessionContext,IRepository<TrCallRecord> trCallRecordRepository,ITrApplication trApplication,IRepository<TrCallEvaluate> trCallRecord,ISystemDicDataCacheManager systemDicDataCacheManager,ILogger<IPPbxController> logger,IOrderRepository orderRepository,IRepository<OrderVisit> orderVisitRepository, IUserCacheManager userCacheManager)
|
|
|
{
|
|
|
_trClient = trClient;
|
|
|
_mapper = mapper;
|
|
@@ -52,6 +54,7 @@ namespace Hotline.Api.Controllers
|
|
|
_logger = logger;
|
|
|
_orderRepository = orderRepository;
|
|
|
_orderVisitRepository = orderVisitRepository;
|
|
|
+ _userCacheManager = userCacheManager;
|
|
|
}
|
|
|
|
|
|
#region 添添呼
|
|
@@ -204,8 +207,22 @@ namespace Hotline.Api.Controllers
|
|
|
TimeSpan tsbegin = new TimeSpan(model.BeginQueueTime.Value.Ticks);
|
|
|
model.QueueTims = Convert.ToInt32(tsend.Subtract(tsbegin).TotalSeconds);
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
+ //获取分机号
|
|
|
+ if (model.CallDirection == ECallDirection.In)
|
|
|
+ {
|
|
|
+ model.TelNo = model.CDPN;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ model.TelNo = model.CPN;
|
|
|
+ }
|
|
|
+ //获取用户
|
|
|
+ var work = await _userCacheManager.GetWorkByTelNoLast(model.TelNo);
|
|
|
+ if (work!=null)
|
|
|
+ {
|
|
|
+ model.UserId = work.UserId;
|
|
|
+ model.UserName = work.UserName;
|
|
|
+ }
|
|
|
await _trCallRecordRepository.AddAsync(model, HttpContext.RequestAborted);
|
|
|
return OpenResponse.Ok("success");
|
|
|
}
|