IOrderDomainService.cs 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. using Hotline.Schedulings;
  2. using Hotline.Share.Dtos;
  3. using Hotline.Share.Dtos.FlowEngine;
  4. using Hotline.Share.Dtos.Order;
  5. namespace Hotline.Orders
  6. {
  7. public interface IOrderDomainService
  8. {
  9. #region OrderHandle
  10. Task<Order> GetOrderAsync(string? orderId, bool withHotspot = false, bool withAcceptor = false,
  11. bool withExtension = false, CancellationToken cancellationToken = default);
  12. Task<string> AddAsync(Order order, bool autoAccept = false, CancellationToken cancellationToken = default);
  13. /// <summary>
  14. /// 撤回或跳转前处理数据及校验
  15. /// <remarks>
  16. ///工单撤回时需校验工单当前是否存在待发布记录、待回访记录,若存在需删除对应记录(跳转同理)
  17. ///工单撤回时需校验工单是否存在甄别中记录,若存在不允许撤回当前工单(跳转同理)
  18. /// </remarks>
  19. /// </summary>
  20. Task ReadyToRecallAsync(string orderId, CancellationToken cancellationToken);
  21. ///// <summary>
  22. ///// 计算并赋值order的几个时长字段
  23. ///// </summary>
  24. ///// <returns></returns>
  25. //Task CalculateAndSetOrderDuration(bool setHandleDuration, bool setFileDuration, bool allDuration);
  26. #endregion
  27. #region OrderRedo
  28. Task<string> AddOrderRedoAsync(OrderRedo orderRedo, CancellationToken cancellationToken);
  29. Task RemoveOrderRedoAsync(string id, CancellationToken cancellationToken);
  30. Task UpdateOrderRedoAsync(OrderRedo orderRedo, CancellationToken cancellationToken);
  31. #endregion
  32. #region 扩展信息
  33. Task<OrderExtension?> GetOrderExtensionsAsync(string provinceNo, CancellationToken cancellationToken);
  34. Task UpdateExtensionAsync(OrderExtension orderExtension, CancellationToken cancellationToken);
  35. /// <summary>
  36. /// 新增工单扩展信息
  37. /// </summary>
  38. Task AddExtensionAsync(OrderExtension extension, CancellationToken cancellationToken);
  39. #endregion
  40. #region OrderComplement
  41. /// <summary>
  42. /// 新增工单补充信息
  43. /// </summary>
  44. Task<string> AddOrderComplementAsync(AddOrderComplementDto dto, CancellationToken cancellationToken);
  45. #endregion
  46. #region 平均派单
  47. /// <summary>
  48. /// 平均派单
  49. /// </summary>
  50. /// <returns></returns>
  51. Task<FlowStepHandler> AverageOrder(CancellationToken cancellationToken);
  52. /// <summary>
  53. /// 登录平均派单
  54. /// </summary>
  55. /// <param name="userId"></param>
  56. /// <returns></returns>
  57. Task LogAverageOrder(string userId, Scheduling scheduling, CancellationToken cancellationToken);
  58. /// <summary>
  59. /// 触发平均派单
  60. /// </summary>
  61. /// <returns></returns>
  62. Task TriggerAverageOrder(CancellationToken cancellationToken);
  63. #endregion
  64. #region 工单校验- 交通类工单
  65. /// <summary>
  66. /// 工单校验 - 交通类工单
  67. /// </summary>
  68. /// <returns></returns>
  69. Task<OrderValidation> OrderValidation(AddOrderDto dto, CancellationToken cancellationToken);
  70. #endregion
  71. }
  72. }