ICallApplication.cs 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using Hotline.CallCenter.BlackLists;
  7. using Hotline.CallCenter.Calls;
  8. using Hotline.CallCenter.Tels;
  9. using Hotline.Share.Dtos;
  10. using Hotline.Share.Dtos.CallCenter;
  11. using Hotline.Share.Dtos.TrCallCenter;
  12. using Hotline.Share.Enums.CallCenter;
  13. using XingTang.Sdk;
  14. namespace Hotline.Application.CallCenter
  15. {
  16. public interface ICallApplication
  17. {
  18. /// <summary>
  19. /// 查询分机
  20. /// </summary>
  21. Task<IReadOnlyList<TelDto>> QueryTelsAsync(CancellationToken cancellationToken);
  22. /// <summary>
  23. /// 查询分机组
  24. /// </summary>
  25. Task<IReadOnlyList<TelGroupDto>> QueryTelGroupsAsync(CancellationToken cancellationToken);
  26. #region 黑名单
  27. /// <summary>
  28. /// 新增黑名单
  29. /// </summary>
  30. Task<string> AddBlackListAsync(AddBlacklistDto dto, CancellationToken cancellationToken);
  31. /// <summary>
  32. /// 删除黑名单
  33. /// </summary>
  34. Task RemoveBlackListAsync(string id, CancellationToken cancellationToken);
  35. /// <summary>
  36. /// 查询黑名单
  37. /// </summary>
  38. Task<List<Blacklist>> QueryBlackListsAsync(CancellationToken cancellationToken);
  39. #endregion
  40. /// <summary>
  41. /// 签入
  42. /// </summary>
  43. Task<TrOnDutyResponseDto> SignInAsync(SignInDto dto, CancellationToken cancellationToken);
  44. /// <summary>
  45. /// 签出
  46. /// </summary>
  47. Task SingOutAsync(CancellationToken cancellationToken);
  48. /// <summary>
  49. /// 签出
  50. /// </summary>
  51. Task SingOutAsync(string telNo, CancellationToken cancellationToken);
  52. /// <summary>
  53. /// 查询当前用户的分机状态
  54. /// </summary>
  55. /// <param name="cancellationToken"></param>
  56. /// <returns></returns>
  57. Task<TrOnDutyResponseDto> GetTelStateAsync(CancellationToken cancellationToken);
  58. /// <summary>
  59. /// 定量查询通话记录
  60. /// </summary>
  61. Task<IReadOnlyList<CallNativeDto>> QueryCallsFixedAsync(QueryCallsFixedDto dto, CancellationToken cancellationToken);
  62. /// <summary>
  63. /// 查询分机操作记录(定量)
  64. /// </summary>
  65. Task<IReadOnlyList<TelOperation>> QueryTelOperationsAsync(QueryTelOperationsFixedDto dto,
  66. CancellationToken cancellationToken);
  67. /// <summary>
  68. /// 依据通话记录编号获取映射后的callId
  69. /// </summary>
  70. Task<string> GetOrSetCallIdAsync(string callNo, CancellationToken cancellationToken);
  71. /// <summary>
  72. /// 批量获取callId
  73. /// </summary>
  74. Task<List<(string callNo, string callId)>> GetOrSetCallIdRangeAsync(List<string> callNos, CancellationToken cancellationToken);
  75. /// <summary>
  76. /// 查询通话记录
  77. /// </summary>
  78. Task<CallNative?> GetCallAsync(string callId, CancellationToken cancellationToken);
  79. /// <summary>
  80. /// 查询通话记录
  81. /// </summary>
  82. Task<List<CallNative>> QueryCallsAsync(
  83. string? phone = null,
  84. ECallDirection? direction = null,
  85. DateTime? callStartTimeStart = null,
  86. DateTime? callStartTimeEnd = null,
  87. CancellationToken cancellationToken = default);
  88. #region tianrun
  89. Task<TrCallRecord?> GetTianrunCallAsync(string callId, CancellationToken cancellationToken);
  90. /// <summary>
  91. /// 关联通话记录与order(添润)
  92. /// </summary>
  93. Task RelateTianrunCallWithOrderAsync(string callId, string orderId, CancellationToken cancellationToken);
  94. /// <summary>
  95. /// 查询通话记录
  96. /// </summary>
  97. Task<List<TrCallRecord>> QueryTianrunCallsAsync(
  98. string? phone = null,
  99. ECallDirection? direction = null,
  100. DateTime? callStartTimeStart = null,
  101. DateTime? callStartTimeEnd = null,
  102. CancellationToken cancellationToken = default);
  103. #endregion
  104. }
  105. }