|
@@ -17,6 +17,8 @@ using Hotline.Orders;
|
|
|
using Hotline.Repository.SqlSugar;
|
|
|
using Hotline.Settings;
|
|
|
using Hotline.Settings.Hotspots;
|
|
|
+using Hotline.Share.Dtos;
|
|
|
+using Hotline.Share.Dtos.CallCenter;
|
|
|
using Hotline.Share.Dtos.File;
|
|
|
using Hotline.Share.Dtos.FlowEngine;
|
|
|
using Hotline.Share.Dtos.Order;
|
|
@@ -29,6 +31,7 @@ using Hotline.Share.Enums.Order;
|
|
|
using Hotline.Share.Enums.Settings;
|
|
|
using Hotline.Share.Tools;
|
|
|
using Hotline.Users;
|
|
|
+using Mapster;
|
|
|
using MediatR;
|
|
|
using Microsoft.AspNetCore.Http;
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
@@ -57,14 +60,17 @@ public class OrderControllerTest : TestBase
|
|
|
private readonly IRepository<OrderPublish> _orderPublishRepository;
|
|
|
private readonly INotificationHandler<EndWorkflowNotify> _orderPublishEndWorkflowHandler;
|
|
|
private readonly IOrderVisitRepository _orderVisitRepository;
|
|
|
+ private readonly IRepository<OrderVisitDetail> _orderVisitDetailRepository;
|
|
|
private readonly IRepository<SystemSetting> _systemSettingRepository;
|
|
|
private readonly ISystemSettingCacheManager _systemSettingCacheManager;
|
|
|
private readonly IRepository<CallNative> _callNativeRepository;
|
|
|
private readonly IRepository<CallidRelation> _callIdRelationRepository;
|
|
|
private readonly XingTangCallApplication _defaultCallApplication;
|
|
|
private readonly ISqlSugarClient _capSqlClient;
|
|
|
+ private readonly ISystemLogRepository _systemLogRepository;
|
|
|
+ private readonly IOrderVisitDomainService _orderVisitDomainService;
|
|
|
|
|
|
- public OrderControllerTest(IAccountRepository accountRepository, IRepository<Role> roleRepository, UserController userController, IRepository<Hotspot> hotspotRepository, OrderController orderController, IOrderRepository orderRepository, IServiceScopeFactory scopeFactory, IRepository<User> userRepository, OrderServiceMock orderServiceMock, IRepository<OrderPublish> orderPublishRepository, INotificationHandler<EndWorkflowNotify> orderPublishEndWorkflowHandler, IOrderVisitRepository orderVisitRepository, IRepository<SystemSetting> systemSettingRepository, ISystemSettingCacheManager systemSettingCacheManager, IRepository<CallNative> callNativeRepository, IRepository<CallidRelation> callIdRelationRepository, XingTangCallApplication defaultCallApplication, ISugarUnitOfWork<CapDbContext> capDbContext, IHttpContextAccessor httpContextAccessor) : base(accountRepository, roleRepository, userController, scopeFactory, userRepository, httpContextAccessor)
|
|
|
+ public OrderControllerTest(IAccountRepository accountRepository, IRepository<Role> roleRepository, UserController userController, IRepository<Hotspot> hotspotRepository, OrderController orderController, IOrderRepository orderRepository, IServiceScopeFactory scopeFactory, IRepository<User> userRepository, OrderServiceMock orderServiceMock, IRepository<OrderPublish> orderPublishRepository, INotificationHandler<EndWorkflowNotify> orderPublishEndWorkflowHandler, IOrderVisitRepository orderVisitRepository, IRepository<SystemSetting> systemSettingRepository, ISystemSettingCacheManager systemSettingCacheManager, IRepository<CallNative> callNativeRepository, IRepository<CallidRelation> callIdRelationRepository, XingTangCallApplication defaultCallApplication, ISugarUnitOfWork<CapDbContext> capDbContext, IHttpContextAccessor httpContextAccessor, ISystemLogRepository systemLogRepository, IOrderVisitDomainService orderVisitDomainService, IRepository<OrderVisitDetail> orderVisitDetailRepository) : base(accountRepository, roleRepository, userController, scopeFactory, userRepository, httpContextAccessor)
|
|
|
{
|
|
|
_hotspotRepository = hotspotRepository;
|
|
|
_orderController = orderController;
|
|
@@ -83,6 +89,9 @@ public class OrderControllerTest : TestBase
|
|
|
_callIdRelationRepository = callIdRelationRepository;
|
|
|
_defaultCallApplication = defaultCallApplication;
|
|
|
_capSqlClient = capDbContext.Db;
|
|
|
+ _systemLogRepository = systemLogRepository;
|
|
|
+ _orderVisitDomainService = orderVisitDomainService;
|
|
|
+ _orderVisitDetailRepository = orderVisitDetailRepository;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -152,6 +161,49 @@ public class OrderControllerTest : TestBase
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ [Fact]
|
|
|
+ public async Task Visit_Test()
|
|
|
+ {
|
|
|
+ SetZuoXi();
|
|
|
+ var order = _orderServiceMock.CreateOrder()
|
|
|
+ .办理到一级部门()
|
|
|
+ .办理到二级部门(Set一级部门)
|
|
|
+ .办理一级部门汇总(Set二级部门)
|
|
|
+ .办理到归档(Set一级部门)
|
|
|
+ .发布工单(SetZuoXi)
|
|
|
+ .GetCreateResult();
|
|
|
+
|
|
|
+ var visit = await _orderVisitRepository.Queryable()
|
|
|
+ .Where(m => m.OrderId == order.Id)
|
|
|
+ .FirstAsync();
|
|
|
+ var visitDetaila = await _orderVisitDetailRepository.Queryable().Where(m => m.VisitId == visit.Id).ToListAsync();
|
|
|
+ var visitDetail = visitDetaila.Adapt<List<VisitDetailDto>>();
|
|
|
+ visitDetail.ForEach(m => {
|
|
|
+ m.SeatEvaluate = ESeatEvaluate.DefaultSatisfied;
|
|
|
+ m.OrgProcessingResults = _orderVisitDomainService.GetVisitEvaluateByReplyTxt<Kv>("0");
|
|
|
+ m.OrgHandledAttitude = _orderVisitDomainService.GetVisitEvaluateByReplyTxt<Kv>("0");
|
|
|
+ });
|
|
|
+
|
|
|
+ var callNo = DateTime.Now.ToString("yyyyMMddhhmmss") + "Flow";
|
|
|
+ var inDto = _fixture.Build<CallNative>()
|
|
|
+ .With(m => m.Id, Ulid.NewUlid().ToString())
|
|
|
+ .With(m => m.CallNo, callNo)
|
|
|
+ .With(m => m.Direction, ECallDirection.In)
|
|
|
+ .With(m => m.IsDeleted, false)
|
|
|
+ .Create();
|
|
|
+ await _callNativeRepository.AddAsync(inDto);
|
|
|
+
|
|
|
+ _systemLogRepository.Add("回访外呼已经接通", "", new CallRemarkDto { CallId = callNo, CallNumber = inDto.ToNo }.ToJson(), "", 1, visit.Id);
|
|
|
+ var visitDto = new VisitDto
|
|
|
+ {
|
|
|
+ Id = visit.Id,
|
|
|
+ IsPutThrough = true,
|
|
|
+ VisitDetails = visitDetail
|
|
|
+ };
|
|
|
+
|
|
|
+ await _orderController.Visit(visitDto);
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 创建工单并派送给派单员
|
|
|
/// </summary>
|