using Hotline.CallCenter.BlackLists;
using Hotline.CallCenter.Calls;
using Hotline.CallCenter.Tels;
using Hotline.Share.Dtos;
using Hotline.Share.Dtos.CallCenter;
using Hotline.Share.Dtos.TrCallCenter;
using Hotline.Share.Enums.CallCenter;
namespace Hotline.Application.CallCenter
{
public interface ICallApplication
{
///
/// 查询分机
///
Task> QueryTelsAsync(CancellationToken cancellationToken);
///
/// 查询分机组
///
Task> QueryTelGroupsAsync(CancellationToken cancellationToken);
#region 黑名单
///
/// 新增黑名单
///
Task AddBlackListAsync(AddBlacklistDto dto, CancellationToken cancellationToken);
///
/// 删除黑名单
///
Task RemoveBlackListAsync(string id, CancellationToken cancellationToken);
///
/// 查询黑名单
///
Task> QueryBlackListsAsync(CancellationToken cancellationToken);
#endregion
///
/// 签入
///
Task SignInAsync(SignInDto dto, CancellationToken cancellationToken);
///
/// 签出
///
Task SingOutAsync(CancellationToken cancellationToken);
///
/// 签出
///
Task SingOutAsync(string telNo, CancellationToken cancellationToken);
///
/// 查询当前用户的分机状态
///
///
///
Task GetTelStateAsync(CancellationToken cancellationToken);
///
/// 定量查询通话记录
///
Task> QueryCallsFixedAsync(QueryCallsFixedDto dto, CancellationToken cancellationToken);
///
/// 查询分机操作记录(定量)
///
Task> QueryTelOperationsAsync(QueryTelOperationsFixedDto dto,
CancellationToken cancellationToken);
///
/// 依据通话记录编号获取映射后的callId
///
Task GetOrSetCallIdAsync(string callNo, CancellationToken cancellationToken);
Task GetRelationAsync(string callNo, CancellationToken cancellation);
Task AddRelationAsync(CallidRelation relation, CancellationToken cancellation);
///
/// 乐观并发更新映射关系
///
Task UpdateRelationOptLockAsync(CallidRelation relation, CancellationToken cancellationToken);
///
/// 查询通话记录列表
///
Task> GetCallListAsync(string callId, CancellationToken cancellationToken);
///
/// 查询通话记录
///
///
///
///
Task GetCallAsync(string callId, CancellationToken cancellationToken);
///
/// 查询通话记录
///
Task> QueryCallsAsync(
string? phone = null,
ECallDirection? direction = null,
DateTime? callStartTimeStart = null,
DateTime? callStartTimeEnd = null,
CancellationToken cancellationToken = default);
#region tianrun
Task GetTianrunCallAsync(string callId, CancellationToken cancellationToken);
///
/// 根据转写ID获取通话信息
///
///
Task GetTianrunCallTransliterationAsync(string transliterationId, CancellationToken cancellationToken);
///
/// 修改转写状态
///
///
Task EditTransliterationStateAsync(string callId, ECallTransliterationState state,string transliterationId, CancellationToken cancellationToken);
///
/// 关联通话记录与order(添润)
///
Task RelateTianrunCallWithOrderAsync(string callId, string orderId, CancellationToken cancellationToken);
///
/// 查询通话记录
///
Task> QueryTianrunCallsAsync(
string? phone = null,
ECallDirection? direction = null,
DateTime? callStartTimeStart = null,
DateTime? callStartTimeEnd = null,
CancellationToken cancellationToken = default);
#endregion
///
/// 查询分机操作选项
///
///
List GetTelOperationOptions();
}
}