IRobotSubTaskRepository.cs
1.12 KB
using Rcs.Domain.Entities;
namespace Rcs.Domain.Repositories
{
/// <summary>
/// 子任务仓储接口
/// @author zzy
/// </summary>
public interface IRobotSubTaskRepository : IRepository<RobotSubTask>
{
/// <summary>
/// 根据父任务ID获取子任务列表(按执行顺序排序)
/// </summary>
Task<IEnumerable<RobotSubTask>> GetByTaskIdAsync(Guid taskId, CancellationToken cancellationToken = default);
/// <summary>
/// 根据机器人ID获取子任务列表
/// </summary>
Task<IEnumerable<RobotSubTask>> GetByRobotIdAsync(Guid robotId, CancellationToken cancellationToken = default);
/// <summary>
/// 获取父任务下一个待执行的子任务
/// </summary>
Task<RobotSubTask?> GetNextPendingSubTaskAsync(Guid taskId, CancellationToken cancellationToken = default);
/// <summary>
/// 根据子任务ID获取完整数据(含导航属性)
/// </summary>
Task<RobotSubTask?> GetByIdWithDetailsAsync(Guid subTaskId, CancellationToken cancellationToken = default);
}
}