手动阀
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
namespace OrpaonVision.Core.Training.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// 规则快照包校验结果。
|
||||
/// </summary>
|
||||
public sealed class RuleSnapshotValidationResultDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 是否通过校验。
|
||||
/// </summary>
|
||||
public bool IsValid { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 校验错误信息。
|
||||
/// </summary>
|
||||
public string[] Errors { get; init; } = Array.Empty<string>();
|
||||
|
||||
/// <summary>
|
||||
/// 校验警告信息。
|
||||
/// </summary>
|
||||
public string[] Warnings { get; init; } = Array.Empty<string>();
|
||||
|
||||
/// <summary>
|
||||
/// 层顺序校验结果。
|
||||
/// </summary>
|
||||
public LayerOrderValidationResultDto LayerOrderValidation { get; init; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// 部件编码唯一性校验结果。
|
||||
/// </summary>
|
||||
public PartCodeUniquenessValidationResultDto PartCodeUniquenessValidation { get; init; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// Schema合法性校验结果。
|
||||
/// </summary>
|
||||
public SchemaValidationResultDto SchemaValidation { get; init; } = new();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 层顺序校验结果。
|
||||
/// </summary>
|
||||
public sealed class LayerOrderValidationResultDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 是否通过校验。
|
||||
/// </summary>
|
||||
public bool IsValid { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 错误信息。
|
||||
/// </summary>
|
||||
public string[] Errors { get; init; } = Array.Empty<string>();
|
||||
|
||||
/// <summary>
|
||||
/// 实际层顺序。
|
||||
/// </summary>
|
||||
public string[] ActualLayerOrder { get; init; } = Array.Empty<string>();
|
||||
|
||||
/// <summary>
|
||||
/// 期望层顺序。
|
||||
/// </summary>
|
||||
public string[] ExpectedLayerOrder { get; init; } = Array.Empty<string>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 部件编码唯一性校验结果。
|
||||
/// </summary>
|
||||
public sealed class PartCodeUniquenessValidationResultDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 是否通过校验。
|
||||
/// </summary>
|
||||
public bool IsValid { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 错误信息。
|
||||
/// </summary>
|
||||
public string[] Errors { get; init; } = Array.Empty<string>();
|
||||
|
||||
/// <summary>
|
||||
/// 重复的部件编码。
|
||||
/// </summary>
|
||||
public string[] DuplicatePartCodes { get; init; } = Array.Empty<string>();
|
||||
|
||||
/// <summary>
|
||||
/// 所有部件编码。
|
||||
/// </summary>
|
||||
public string[] AllPartCodes { get; init; } = Array.Empty<string>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Schema合法性校验结果。
|
||||
/// </summary>
|
||||
public sealed class SchemaValidationResultDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 是否通过校验。
|
||||
/// </summary>
|
||||
public bool IsValid { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 错误信息。
|
||||
/// </summary>
|
||||
public string[] Errors { get; init; } = Array.Empty<string>();
|
||||
|
||||
/// <summary>
|
||||
/// 警告信息。
|
||||
/// </summary>
|
||||
public string[] Warnings { get; init; } = Array.Empty<string>();
|
||||
|
||||
/// <summary>
|
||||
/// Schema版本。
|
||||
/// </summary>
|
||||
public string SchemaVersion { get; init; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 校验的文件路径。
|
||||
/// </summary>
|
||||
public string[] ValidatedFiles { get; init; } = Array.Empty<string>();
|
||||
}
|
||||
52
OrpaonVision.Core/Training/IRuleValidationService.cs
Normal file
52
OrpaonVision.Core/Training/IRuleValidationService.cs
Normal file
@@ -0,0 +1,52 @@
|
||||
using OrpaonVision.Core.Results;
|
||||
using OrpaonVision.Core.Training.Contracts;
|
||||
|
||||
namespace OrpaonVision.Core.Training;
|
||||
|
||||
/// <summary>
|
||||
/// 规则校验服务接口。
|
||||
/// </summary>
|
||||
public interface IRuleValidationService
|
||||
{
|
||||
/// <summary>
|
||||
/// 校验规则快照包。
|
||||
/// </summary>
|
||||
/// <param name="packagePath">包路径。</param>
|
||||
/// <param name="cancellationToken">取消令牌。</param>
|
||||
/// <returns>校验结果。</returns>
|
||||
Task<Result<RuleSnapshotValidationResultDto>> ValidateRuleSnapshotPackageAsync(
|
||||
string packagePath,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 校验层顺序。
|
||||
/// </summary>
|
||||
/// <param name="layerOrderData">层顺序数据。</param>
|
||||
/// <param name="expectedOrder">期望的层顺序。</param>
|
||||
/// <param name="cancellationToken">取消令牌。</param>
|
||||
/// <returns>校验结果。</returns>
|
||||
Task<Result<LayerOrderValidationResultDto>> ValidateLayerOrderAsync(
|
||||
string[] layerOrderData,
|
||||
string[] expectedOrder,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 校验部件编码唯一性。
|
||||
/// </summary>
|
||||
/// <param name="partCodes">部件编码列表。</param>
|
||||
/// <param name="cancellationToken">取消令牌。</param>
|
||||
/// <returns>校验结果。</returns>
|
||||
Task<Result<PartCodeUniquenessValidationResultDto>> ValidatePartCodeUniquenessAsync(
|
||||
string[] partCodes,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 校验Schema合法性。
|
||||
/// </summary>
|
||||
/// <param name="schemaFiles">Schema文件路径列表。</param>
|
||||
/// <param name="cancellationToken">取消令牌。</param>
|
||||
/// <returns>校验结果。</returns>
|
||||
Task<Result<SchemaValidationResultDto>> ValidateSchemaAsync(
|
||||
string[] schemaFiles,
|
||||
CancellationToken cancellationToken = default);
|
||||
}
|
||||
Reference in New Issue
Block a user