using Hotline.Schedulings; using Hotline.Share.Dtos; using Hotline.Share.Dtos.FlowEngine.Workflow; using Hotline.Share.Dtos.Order; namespace Hotline.Orders { public interface IOrderDomainService { #region OrderHandle Task GetOrderAsync(string? orderId, bool withHotspot = false, bool withAcceptor = false, bool withExtension = false, CancellationToken cancellationToken = default); Task AddAsync(Order order, bool autoAccept = false, CancellationToken cancellationToken = default); /// /// 撤回或跳转前处理数据及校验 /// ///工单撤回时需校验工单当前是否存在待发布记录、待回访记录,若存在需删除对应记录(跳转同理) ///工单撤回时需校验工单是否存在甄别中记录,若存在不允许撤回当前工单(跳转同理) /// /// Task ReadyToRecallAsync(string orderId, CancellationToken cancellationToken); ///// ///// 计算并赋值order的几个时长字段 ///// ///// //Task CalculateAndSetOrderDuration(bool setHandleDuration, bool setFileDuration, bool allDuration); #endregion #region OrderRedo Task AddOrderRedoAsync(OrderRedo orderRedo, CancellationToken cancellationToken); Task RemoveOrderRedoAsync(string id, CancellationToken cancellationToken); Task UpdateOrderRedoAsync(OrderRedo orderRedo, CancellationToken cancellationToken); #endregion #region 扩展信息 Task GetOrderExtensionsAsync(string provinceNo, CancellationToken cancellationToken); Task UpdateExtensionAsync(OrderExtension orderExtension, CancellationToken cancellationToken); /// /// 新增工单扩展信息 /// Task AddExtensionAsync(OrderExtension extension, CancellationToken cancellationToken); #endregion #region OrderComplement /// /// 新增工单补充信息 /// Task AddOrderComplementAsync(AddOrderComplementDto dto, CancellationToken cancellationToken); #endregion #region 平均派单 /// /// 获取是否上班 /// /// /// Task SchedulingAtWork(string UserId); /// /// 平均派单 /// /// Task AverageOrder(CancellationToken cancellationToken); /// /// 登录平均派单 /// /// /// Task LogAverageOrder(string userId, Scheduling scheduling, CancellationToken cancellationToken); /// /// 触发平均派单 /// /// Task TriggerAverageOrder(CancellationToken cancellationToken); /// /// 提前触发平均派单 /// /// /// Task AdvancedTriggerAverageOrder(CancellationToken cancellationToken); #endregion #region 工单校验- 交通类工单 /// /// 工单校验 - 交通类工单 /// /// Task OrderValidation(AddOrderDto dto, CancellationToken cancellationToken); #endregion /// /// 验证是否是管理员 /// /// bool IsCheckAdmin(); /// /// 推送即将超期和超期短信 /// /// Task SendOverTimeSms(CancellationToken cancellationToken); Task OrderPublishAsync(Order order, CancellationToken cancellationToken); Task OrderAutomaticPublishAsync(Order order, CancellationToken cancellationToken); /// /// 重办和退回工单时如果有取消发布的工单, 清除回访待办和回访列表中的数据 /// /// /// /// Task VisitNoneByCancelPublishAsync(string orderId, CancellationToken cancellationToken); /// /// 计算甄别申请截至日期 /// /// Task GetScreenByEndTime(); /// /// 查询中心最后一次会签的所有一级部门 /// /// /// Task> GetCountersignOneOrg(string workFlowId); } }