IChargingFlowService.cs 815 Bytes
using Rcs.Domain.Entities.DomainEvents.Robot;

namespace Rcs.Application.Services;

/// <summary>
/// 自动充电编排服务接口。
/// </summary>
public interface IChargingFlowService
{
    /// <summary>
    /// 处理机器人状态变更事件,驱动自动充电流程。
    /// </summary>
    /// <param name="domainEvent">机器人状态变更领域事件。</param>
    /// <param name="cancellationToken">取消令牌。</param>
    Task HandleRobotStatusChangedAsync(RobotStatusChangedDomainEvent domainEvent, CancellationToken cancellationToken = default);

    /// <summary>
    /// 周期巡检自动充电流程,执行兜底处理。
    /// </summary>
    /// <param name="cancellationToken">取消令牌。</param>
    Task ReconcileAsync(CancellationToken cancellationToken = default);
}