183 lines
4.1 KiB
C#
183 lines
4.1 KiB
C#
namespace OrpaonVision.Core.Training.Contracts;
|
||
|
||
/// <summary>
|
||
/// 模型包校验结果。
|
||
/// </summary>
|
||
public sealed class ModelPackageValidationResultDto
|
||
{
|
||
/// <summary>
|
||
/// 模型包ID。
|
||
/// </summary>
|
||
public Guid ModelPackageId { get; init; }
|
||
|
||
/// <summary>
|
||
/// 总体校验状态。
|
||
/// </summary>
|
||
public ModelPackageValidationStatus Status { get; init; }
|
||
|
||
/// <summary>
|
||
/// 校验消息。
|
||
/// </summary>
|
||
public string Message { get; init; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 文件级校验结果。
|
||
/// </summary>
|
||
public FileLevelValidationResultDto FileLevelValidation { get; init; } = new();
|
||
|
||
/// <summary>
|
||
/// 结构级校验结果。
|
||
/// </summary>
|
||
public StructureLevelValidationResultDto StructureLevelValidation { get; init; } = new();
|
||
|
||
/// <summary>
|
||
/// 内容级校验结果。
|
||
/// </summary>
|
||
public ContentLevelValidationResultDto ContentLevelValidation { get; init; } = new();
|
||
|
||
/// <summary>
|
||
/// 业务兼容性校验结果。
|
||
/// </summary>
|
||
public BusinessCompatibilityValidationResultDto BusinessCompatibilityValidation { get; init; } = new();
|
||
|
||
/// <summary>
|
||
/// 校验时间(UTC)。
|
||
/// </summary>
|
||
public DateTime ValidatedAtUtc { get; init; }
|
||
|
||
/// <summary>
|
||
/// 校验者。
|
||
/// </summary>
|
||
public string ValidatedBy { get; init; } = string.Empty;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 模型包校验状态。
|
||
/// </summary>
|
||
public enum ModelPackageValidationStatus
|
||
{
|
||
/// <summary>
|
||
/// 校验中。
|
||
/// </summary>
|
||
Validating,
|
||
|
||
/// <summary>
|
||
/// 校验通过。
|
||
/// </summary>
|
||
Passed,
|
||
|
||
/// <summary>
|
||
/// 校验失败。
|
||
/// </summary>
|
||
Failed,
|
||
|
||
/// <summary>
|
||
/// 警告(部分通过)。
|
||
/// </summary>
|
||
Warning
|
||
}
|
||
|
||
/// <summary>
|
||
/// 文件级校验结果。
|
||
/// </summary>
|
||
public sealed class FileLevelValidationResultDto
|
||
{
|
||
/// <summary>
|
||
/// 是否通过。
|
||
/// </summary>
|
||
public bool Passed { get; init; }
|
||
|
||
/// <summary>
|
||
/// 错误信息。
|
||
/// </summary>
|
||
public List<string> Errors { get; init; } = new();
|
||
|
||
/// <summary>
|
||
/// 警告信息。
|
||
/// </summary>
|
||
public List<string> Warnings { get; init; } = new();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 结构级校验结果。
|
||
/// </summary>
|
||
public sealed class StructureLevelValidationResultDto
|
||
{
|
||
/// <summary>
|
||
/// 是否通过。
|
||
/// </summary>
|
||
public bool Passed { get; init; }
|
||
|
||
/// <summary>
|
||
/// 错误信息。
|
||
/// </summary>
|
||
public List<string> Errors { get; init; } = new();
|
||
|
||
/// <summary>
|
||
/// 警告信息。
|
||
/// </summary>
|
||
public List<string> Warnings { get; init; } = new();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 内容级校验结果。
|
||
/// </summary>
|
||
public sealed class ContentLevelValidationResultDto
|
||
{
|
||
/// <summary>
|
||
/// 是否通过。
|
||
/// </summary>
|
||
public bool Passed { get; init; }
|
||
|
||
/// <summary>
|
||
/// 错误信息。
|
||
/// </summary>
|
||
public List<string> Errors { get; init; } = new();
|
||
|
||
/// <summary>
|
||
/// 警告信息。
|
||
/// </summary>
|
||
public List<string> Warnings { get; init; } = new();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 业务兼容性校验结果。
|
||
/// </summary>
|
||
public sealed class BusinessCompatibilityValidationResultDto
|
||
{
|
||
/// <summary>
|
||
/// 是否通过。
|
||
/// </summary>
|
||
public bool Passed { get; init; }
|
||
|
||
/// <summary>
|
||
/// 错误信息。
|
||
/// </summary>
|
||
public List<string> Errors { get; init; } = new();
|
||
|
||
/// <summary>
|
||
/// 警告信息。
|
||
/// </summary>
|
||
public List<string> Warnings { get; init; } = new();
|
||
|
||
/// <summary>
|
||
/// 当前运行端版本。
|
||
/// </summary>
|
||
public string CurrentRuntimeVersion { get; init; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 最低运行端版本要求。
|
||
/// </summary>
|
||
public string MinRuntimeVersion { get; init; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 当前机种编码。
|
||
/// </summary>
|
||
public string CurrentProductTypeCode { get; init; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 适用机种列表。
|
||
/// </summary>
|
||
public List<string> ApplicableProductTypes { get; init; } = new();
|
||
}
|