using SJZY.Track.Domain.Dtos.Order;
using SJZY.Track.Domain.Dtos.TrackContents;
using SJZY.Track.Domain.Dtos.TrackPull;
namespace SJZY.Track.Domain.Queries;
///
/// 提供接口专用查询
///
public interface IProvideQueries
{
///
/// 根据子系统内容映射,得到映射后的轨迹code
///
///
///
///
///
Task> MapTrackCodesAsync(int upSubSystemId, int subSystemId, params string[] trackCodes);
///
/// 获取子系统内容Code映射
///
///
///
///
///
Task> GetTrackCodeMapsAsync(int upSubSystemId, int subSystemId, params string[] trackCodes);
///
/// 根据订单模板找对应服务商
///
///
///
///
Task> FindOrderWithServiceProviderAsync(int subSystemId, List orderNos);
///
/// 获取服务商下所有单(未完成的)
///
/// 服务商代码
///
///
///
Task> FindOrderWithServiceProviderAsync(string serviceProviderCode, int pageIndex,
int pageSize = 1000);
///
/// 获取轨迹内容
///
///
///
///
Task GetTrackContentAsync(int subSystemId, string trackCode);
///
/// 获取轨迹内容
///
/// 子系统ids
/// 轨迹代码集合
///
Task> GetTrackContentsAsync(int[] subSystemIds, string[] trackCodes);
///
/// 获取所有拉取配置
///
///
Task> GetAllPullConfigsAsync();
///
/// 子系统id换code
///
///
///
Task SubSystemId2CodeAsync(int subSystemId);
}