123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- using Hotline.Schedulings;
- using Hotline.Share.Dtos.FlowEngine;
- using Hotline.Share.Dtos.Order;
- using Hotline.Share.Enums.FlowEngine;
- namespace Hotline.Orders
- {
- public interface IOrderDomainService
- {
- #region OrderHandle
- Task<Order> GetOrderAsync(string? orderId, bool withHotspot = false, bool withAcceptor = false,
- bool withExtension = false, CancellationToken cancellationToken = default);
- Task<string> AddAsync(Order order, bool autoAccept = false, CancellationToken cancellationToken = default);
- /// <summary>
- /// 撤回或跳转前处理数据及校验
- /// <remarks>
- ///工单撤回时需校验工单当前是否存在待发布记录、待回访记录,若存在需删除对应记录(跳转同理)
- ///工单撤回时需校验工单是否存在甄别中记录,若存在不允许撤回当前工单(跳转同理)
- /// </remarks>
- /// </summary>
- Task ReadyToRecallAsync(string orderId, CancellationToken cancellationToken);
- ///// <summary>
- ///// 计算并赋值order的几个时长字段
- ///// </summary>
- ///// <returns></returns>
- //Task CalculateAndSetOrderDuration(bool setHandleDuration, bool setFileDuration, bool allDuration);
- #endregion
- #region OrderRedo
- Task<string> AddOrderRedoAsync(OrderRedo orderRedo, CancellationToken cancellationToken);
- Task RemoveOrderRedoAsync(string id, CancellationToken cancellationToken);
- Task UpdateOrderRedoAsync(OrderRedo orderRedo, CancellationToken cancellationToken);
- #endregion
- #region 扩展信息
- Task<OrderExtension?> GetOrderExtensionsAsync(string provinceNo, CancellationToken cancellationToken);
- Task UpdateExtensionAsync(OrderExtension orderExtension, CancellationToken cancellationToken);
- /// <summary>
- /// 新增工单扩展信息
- /// </summary>
- Task AddExtensionAsync(OrderExtension extension, CancellationToken cancellationToken);
- #endregion
- #region OrderComplement
- /// <summary>
- /// 新增工单补充信息
- /// </summary>
- Task<string> AddOrderComplementAsync(AddOrderComplementDto dto, CancellationToken cancellationToken);
- #endregion
- #region 平均派单
- /// <summary>
- /// 平均派单
- /// </summary>
- /// <returns></returns>
- Task<FlowStepHandler> AverageOrder(CancellationToken cancellationToken);
- /// <summary>
- /// 登录平均派单
- /// </summary>
- /// <param name="userId"></param>
- /// <returns></returns>
- Task LogAverageOrder(string userId, Scheduling scheduling, CancellationToken cancellationToken);
- /// <summary>
- /// 触发平均派单
- /// </summary>
- /// <returns></returns>
- Task TriggerAverageOrder(CancellationToken cancellationToken);
- #endregion
- #region 工单校验- 交通类工单
- /// <summary>
- /// 工单校验 - 交通类工单
- /// </summary>
- /// <returns></returns>
- Task<OrderValidation> OrderValidation(AddOrderDto dto, CancellationToken cancellationToken);
- #endregion
- /// <summary>
- /// 验证是否是管理员
- /// </summary>
- /// <returns></returns>
- bool IsCheckAdmin();
- /// <summary>
- /// 推送即将超期和超期短信
- /// </summary>
- /// <returns></returns>
- Task SendOverTimeSms(CancellationToken cancellationToken);
- Task OrderPublishAsync(Order order, CancellationToken cancellationToken);
- Task OrderAutomaticPublishAsync(Order order, CancellationToken cancellationToken);
- /// <summary>
- /// 重办和退回工单时如果有取消发布的工单, 清除回访待办和回访列表中的数据
- /// </summary>
- /// <param name="orderId"></param>
- /// <param name="cancellationToken"></param>
- /// <returns></returns>
- Task VisitNoneByCancelPublishAsync(string orderId, CancellationToken cancellationToken);
- /// <summary>
- /// 查询退回操作目标节点的指派方式
- /// </summary>
- ReverseFlowStepAssignInfo GetOrderPreviousAssignInfo(EBusinessType targetStepBusinessType, AssignStepHandler? handler);
- }
- }
|