ICallApplication.cs 4.7 KB

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