using OrpaonVision.Core.Results; using OrpaonVision.Model.Production; namespace OrpaonVision.Core.Production; /// /// 运行层级会话仓储接口。 /// public interface IRunLayerSessionRepository { /// /// 创建层级会话。 /// /// 层级会话模型。 /// 取消令牌。 /// 创建结果。 Task> CreateAsync(RunLayerSessionModel layerSession, CancellationToken cancellationToken = default); /// /// 更新层级会话。 /// /// 层级会话模型。 /// 取消令牌。 /// 更新结果。 Task> UpdateAsync(RunLayerSessionModel layerSession, CancellationToken cancellationToken = default); /// /// 根据ID获取层级会话。 /// /// 层级会话ID。 /// 取消令牌。 /// 层级会话模型。 Task> GetByIdAsync(Guid layerSessionId, CancellationToken cancellationToken = default); /// /// 根据产品会话ID获取层级会话列表。 /// /// 产品会话ID。 /// 取消令牌。 /// 层级会话列表。 Task>> GetBySessionIdAsync(Guid sessionId, CancellationToken cancellationToken = default); /// /// 根据状态获取层级会话列表。 /// /// 状态。 /// 取消令牌。 /// 层级会话列表。 Task>> GetByStatusAsync(RunLayerSessionStatus status, CancellationToken cancellationToken = default); /// /// 分页查询层级会话。 /// /// 页索引。 /// 页大小。 /// 产品类型编码(可选)。 /// 状态(可选)。 /// 开始时间(可选)。 /// 结束时间(可选)。 /// 取消令牌。 /// 分页结果。 Task>> GetPagedAsync( int pageIndex, int pageSize, string? productTypeCode = null, RunLayerSessionStatus? status = null, DateTime? startTime = null, DateTime? endTime = null, CancellationToken cancellationToken = default); /// /// 删除层级会话。 /// /// 层级会话ID。 /// 取消令牌。 /// 删除结果。 Task> DeleteAsync(Guid layerSessionId, CancellationToken cancellationToken = default); /// /// 批量删除层级会话。 /// /// 产品会话ID列表。 /// 取消令牌。 /// 删除结果。 Task> DeleteBySessionIdsAsync(List sessionIds, CancellationToken cancellationToken = default); }