版本260406
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
using OrpaonVision.Core.Configuration;
|
||||
using OrpaonVision.Core.Configuration.Contracts;
|
||||
using OrpaonVision.Core.Results;
|
||||
|
||||
namespace OrpaonVision.ConfigApp.Configuration.Services;
|
||||
|
||||
/// <summary>
|
||||
/// 规则配置应用服务。
|
||||
/// </summary>
|
||||
public sealed class RuleConfigurationAppService : IRuleConfigurationAppService
|
||||
{
|
||||
private readonly IRuleConfigurationStore _ruleConfigurationStore;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数。
|
||||
/// </summary>
|
||||
public RuleConfigurationAppService(IRuleConfigurationStore ruleConfigurationStore)
|
||||
{
|
||||
_ruleConfigurationStore = ruleConfigurationStore;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public Task<Result> SaveDraftAsync(RuleConfigurationDraftDto draft, CancellationToken cancellationToken = default)
|
||||
{
|
||||
cancellationToken.ThrowIfCancellationRequested();
|
||||
return Task.FromResult(_ruleConfigurationStore.SaveDraft(draft));
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public Task<Result<RuleVersionDto>> PublishAsync(string productTypeCode, string publishedBy, CancellationToken cancellationToken = default)
|
||||
{
|
||||
cancellationToken.ThrowIfCancellationRequested();
|
||||
return Task.FromResult(_ruleConfigurationStore.Publish(productTypeCode, publishedBy));
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public Task<Result<RuleVersionDto?>> GetLatestPublishedVersionAsync(string productTypeCode, CancellationToken cancellationToken = default)
|
||||
{
|
||||
cancellationToken.ThrowIfCancellationRequested();
|
||||
return Task.FromResult(_ruleConfigurationStore.GetLatestPublishedVersion(productTypeCode));
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public Task<Result<RuleVersionCompareDto>> CompareVersionsAsync(string productTypeCode, string sourceVersionNo, string targetVersionNo, CancellationToken cancellationToken = default)
|
||||
{
|
||||
cancellationToken.ThrowIfCancellationRequested();
|
||||
return Task.FromResult(_ruleConfigurationStore.CompareVersions(productTypeCode, sourceVersionNo, targetVersionNo));
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public Task<Result<RuleVersionDto>> RollbackToVersionAsync(string productTypeCode, string targetVersionNo, string rolledBackBy, CancellationToken cancellationToken = default)
|
||||
{
|
||||
cancellationToken.ThrowIfCancellationRequested();
|
||||
return Task.FromResult(_ruleConfigurationStore.RollbackToVersion(productTypeCode, targetVersionNo, rolledBackBy));
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public Task<Result> DisableVersionAsync(string productTypeCode, string versionNo, string disabledBy, CancellationToken cancellationToken = default)
|
||||
{
|
||||
cancellationToken.ThrowIfCancellationRequested();
|
||||
return Task.FromResult(_ruleConfigurationStore.DisableVersion(productTypeCode, versionNo, disabledBy));
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public Task<Result<RuleVersionDto>> GetVersionDetailAsync(string productTypeCode, string versionNo, CancellationToken cancellationToken = default)
|
||||
{
|
||||
cancellationToken.ThrowIfCancellationRequested();
|
||||
return Task.FromResult(_ruleConfigurationStore.GetVersionDetail(productTypeCode, versionNo));
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public Task<Result<PagedResult<RuleVersionDto>>> GetVersionPagedListAsync(string productTypeCode, int pageIndex = 1, int pageSize = 20, CancellationToken cancellationToken = default)
|
||||
{
|
||||
cancellationToken.ThrowIfCancellationRequested();
|
||||
return Task.FromResult(_ruleConfigurationStore.GetVersionPagedList(productTypeCode, pageIndex, pageSize));
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public Task<Result<IReadOnlyList<RuleVersionAuditDto>>> GetRecentAuditsAsync(string productTypeCode, int take = 20, CancellationToken cancellationToken = default)
|
||||
{
|
||||
cancellationToken.ThrowIfCancellationRequested();
|
||||
return Task.FromResult(_ruleConfigurationStore.GetRecentAudits(productTypeCode, take));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user