Files
OrpaonVision/OrpaonVision.Core/Training/Contracts/ModelPackageValidationResultDto.cs
2026-04-06 22:04:05 +08:00

183 lines
4.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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();
}