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