using SJZY.Track.Domain.Dtos.Order; namespace SJZY.Track.Domain.Aggregates.OrderAggregate; public interface IOrderRepository : IBasicRepository { /// /// 获取分页的轨迹订单 /// /// /// Task> GetTrackOrderPagedList(GetPageTrackOrderInputVO input); /// /// 创建订单 /// /// /// Task CreateOrderAsync(OrderEntity order); /// /// 更新订单 /// /// /// Task UpdateOrderAsync(OrderEntity order); /// /// 删除订单 /// /// /// Task DeleteOrderAsync(int orderId); /// /// 更新推送预警单 /// /// Task PushWarnOrdersAsync(int subSystemId, int pageSize, int pageindex); /// /// 更新缺失标记,时区缺失和发生地缺失标记,1表示时区,2表示发生地,3表示两种 /// /// 订单id /// 值 /// Task UpdateBatchIdsAsync(List ids, int newValue); /// /// 根据子系统code获取子系统id /// /// /// Task> GetSubSystemListByCodesAsync(List codes); #region 订单关联 /// /// 根据订单id,获取关联的订单集合 /// /// /// Task> GetLinkedOrdersAsync(int[] orderId); /// /// 根据订单id,获取指定子系统下指定订单类型的关联订单集合 /// /// /// /// /// Task> GetLinkedOrdersAsync(int orderId, int linkSubSystemId, int linkOrderType); /// /// 找已经存在的关联订单 /// /// /// /// /// /// Task> GetLinkedOrdersAsync(int orderId, int linkSubSystemId, int linkOrderType, List linkOrderNos); /// /// 关联订单 /// /// /// Task LinkOrderAsync(List orderLinkEntities); /// /// 解除订单关联关系 /// /// /// Task UnLinkByIdsAsync(List linkIds); #endregion #region 订单拉取状态 /// /// 更新订单拉取状态为静默,Init->SilenceBeforeStart,Pulling->SilenceAfterEnd /// /// /// /// Task UpdatePullStatusToSilenceAsync(List orderIds, string trackCode); /// /// 更新订单拉取状态根据静默,SilenceBeforeStart->Pulling,SilenceAfterEnd->Completed /// /// Task UpdatePullStatusBySilenceAsync(); /// /// 清理拉取状态 /// /// Task ClearPullStatusAsync(); /// /// 更新订单拉取配置,根据服务商 /// /// /// Task UpdateOrderPullConfigForServiceProviderAsync(UpdateOrderPullConfigsInputVo inputVo); #endregion }