using Hotline.Schedulings; using Hotline.Share.Dtos.FlowEngine; 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 AverageOrder(CancellationToken cancellationToken); /// /// 登录平均派单 /// /// /// Task LogAverageOrder(string userId, Scheduling scheduling, CancellationToken cancellationToken); /// /// 触发平均派单 /// /// Task TriggerAverageOrder(CancellationToken cancellationToken); #endregion #region 工单校验- 交通类工单 /// /// 工单校验 - 交通类工单 /// /// Task OrderValidation(AddOrderDto dto, CancellationToken cancellationToken); #endregion /// /// 验证是否是管理员 /// /// bool IsCheckAdmin(); } }