版本260406

This commit is contained in:
2026-04-06 22:04:05 +08:00
parent 7dc5e73af7
commit 0b150470be
216 changed files with 98993 additions and 33 deletions

View File

@@ -0,0 +1,83 @@
using OrpaonVision.Core.Results;
using OrpaonVision.Core.Training.Contracts;
using OrpaonVision.Core.Training.Contracts.Commands;
namespace OrpaonVision.Core.Training;
/// <summary>
/// 运行时部署快照应用服务接口。
/// </summary>
public interface IRuntimeDeploymentSnapshotAppService
{
/// <summary>
/// 创建运行时部署快照。
/// </summary>
/// <param name="command">创建命令。</param>
/// <param name="cancellationToken">取消令牌。</param>
/// <returns>创建结果。</returns>
Task<Result<CreateRuntimeDeploymentSnapshotResultDto>> CreateSnapshotAsync(
CreateRuntimeDeploymentSnapshotCommand command,
CancellationToken cancellationToken = default);
/// <summary>
/// 获取运行时部署快照详情。
/// </summary>
/// <param name="snapshotId">快照ID。</param>
/// <param name="cancellationToken">取消令牌。</param>
/// <returns>快照详情。</returns>
Task<Result<RuntimeDeploymentSnapshotDetailDto>> GetSnapshotAsync(
Guid snapshotId,
CancellationToken cancellationToken = default);
/// <summary>
/// 获取运行时部署快照列表。
/// </summary>
/// <param name="productTypeId">机种ID可选。</param>
/// <param name="status">状态(可选)。</param>
/// <param name="cancellationToken">取消令牌。</param>
/// <returns>快照列表。</returns>
Task<Result<IReadOnlyList<RuntimeDeploymentSnapshotSummaryDto>>> GetSnapshotsAsync(
Guid? productTypeId = null,
RuntimeDeploymentSnapshotStatus? status = null,
CancellationToken cancellationToken = default);
/// <summary>
/// 激活运行时部署快照。
/// </summary>
/// <param name="command">激活命令。</param>
/// <param name="cancellationToken">取消令牌。</param>
/// <returns>激活结果。</returns>
Task<Result<ActivateRuntimeDeploymentSnapshotResultDto>> ActivateSnapshotAsync(
ActivateRuntimeDeploymentSnapshotCommand command,
CancellationToken cancellationToken = default);
/// <summary>
/// 回滚到运行时部署快照。
/// </summary>
/// <param name="command">回滚命令。</param>
/// <param name="cancellationToken">取消令牌。</param>
/// <returns>回滚结果。</returns>
Task<Result<RollbackToRuntimeDeploymentSnapshotResultDto>> RollbackToSnapshotAsync(
RollbackToRuntimeDeploymentSnapshotCommand command,
CancellationToken cancellationToken = default);
/// <summary>
/// 获取当前激活的快照。
/// </summary>
/// <param name="productTypeId">机种ID。</param>
/// <param name="cancellationToken">取消令牌。</param>
/// <returns>当前激活的快照。</returns>
Task<Result<RuntimeDeploymentSnapshotDetailDto>> GetCurrentActivatedSnapshotAsync(
Guid productTypeId,
CancellationToken cancellationToken = default);
/// <summary>
/// 获取快照历史记录。
/// </summary>
/// <param name="productTypeId">机种ID。</param>
/// <param name="cancellationToken">取消令牌。</param>
/// <returns>快照历史记录。</returns>
Task<Result<IReadOnlyList<RuntimeDeploymentSnapshotSummaryDto>>> GetSnapshotHistoryAsync(
Guid productTypeId,
CancellationToken cancellationToken = default);
}