IOrderDomainService.cs 3.3 KB

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