
using Hotline.Ai.CallOut;
using Hotline.Share.Dtos.Order;
using Microsoft.AspNetCore.Http;

namespace Hotline.Ai.Visit
{
    public interface IAiVisitService
    {
        Task<AiOrderVisit> CreateAiOrderVisitTask(AiOrderVisit aiOrderVisit, string sceneuid, string ruleuId, string visitFromNameKey, string visitFromGenderKey, string visitCreationTimeKey, string visitOrderTitleKey, string visitIsCallOrderKey, CancellationToken cancellationToken);

        Task<CallOutTask> CreateAiCallOutTask(CallOutTask callOutTask,string sceneuid,string ruleuId,string callOutContentKey, CancellationToken cancellationToken);


        Task<AiVisitQueryData> QueryAiVisitTask(string batchId,string taskId, CancellationToken cancellationToken);

        Task<AiVisitQueryData> QueryAiVisitTaskEx(string batchId, string taskId, CancellationToken cancellationToken);

        Task<bool> ChangeStatusAsync(string batchUid, string status, CancellationToken cancellationToken);

        Task<AiVisitQueryData> QueryAiVisitTaskResult(string batchId, DateTime beginTime, DateTime endTime, CancellationToken cancellationToken);
    }
}
