|
@@ -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)
|
|
|
{
|