179 lines
5.4 KiB
C#
179 lines
5.4 KiB
C#
using SJZY.Track.Domain.Dtos.Order;
|
||
using SJZY.Track.Domain.VEntities;
|
||
|
||
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="serviceProviderCode">三方平台</param>
|
||
/// <param name="orderNo">三方平台单号</param>
|
||
/// <returns>(主单号id,客户id)</returns>
|
||
Task<(int MainOrderId, int CustomId)> GetTrackOrderByProviderAndOrderNo(string serviceProviderCode, string orderNo);
|
||
|
||
/// <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<OrderTemplateVO>> GetOrderTemplateAsync(int[] orderId);
|
||
|
||
/// <summary>
|
||
/// 根据子系统+订单号+类型,获取订单所属的模板
|
||
/// </summary>
|
||
/// <param name="subSystemId"></param>
|
||
/// <param name="orderType"></param>
|
||
/// <param name="orderNos"></param>
|
||
/// <returns></returns>
|
||
Task<List<OrderTemplateVO>> GetOrderTemplateAsync(int subSystemId,int orderType,List<string> orderNos);
|
||
|
||
#endregion
|
||
|
||
|
||
#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
|
||
|
||
/// <summary>
|
||
/// 根据id获取子系统信息
|
||
/// </summary>
|
||
/// <param name="id"></param>
|
||
/// <returns></returns>
|
||
Task<VSystemEntity> GetSystemInfoById(int id);
|
||
|
||
/// <summary>
|
||
/// 根据id获取员工姓名
|
||
/// </summary>
|
||
/// <param name="id"></param>
|
||
/// <returns></returns>
|
||
Task<VUserEntity> GetUserById(int id);
|
||
}
|