From a62a035ec620366b24e8b7adcb2cf36fa5504903 Mon Sep 17 00:00:00 2001 From: TekH Date: Wed, 5 Nov 2025 12:55:49 +0100 Subject: [PATCH] feat(FinishEnvelopeJob): enhance FinishEnvelopeJob to fetch signed envelopes - Added MediatR dependency to query envelopes - Injected GdPictureOptions via IOptions - Updated Execute method to fetch envelopes with status 'EnvelopeCompletelySigned' - Preserved logging with job details - Prepared loop for further processing of envelopes --- .../Envelopes/Queries/ReadEnvelopeQuery.cs | 8 +++++- .../Job/EnvelopeTaskApiJob.cs | 2 +- .../Job/FinishEnvelopeJob.cs | 28 ++++++++++++++++--- 3 files changed, 32 insertions(+), 6 deletions(-) diff --git a/EnvelopeGenerator.Application/Envelopes/Queries/ReadEnvelopeQuery.cs b/EnvelopeGenerator.Application/Envelopes/Queries/ReadEnvelopeQuery.cs index cad7dfb2..04cd767e 100644 --- a/EnvelopeGenerator.Application/Envelopes/Queries/ReadEnvelopeQuery.cs +++ b/EnvelopeGenerator.Application/Envelopes/Queries/ReadEnvelopeQuery.cs @@ -1,18 +1,24 @@ using MediatR; using EnvelopeGenerator.Domain.Constants; using EnvelopeGenerator.Application.Common.Query; +using EnvelopeGenerator.Application.Common.Dto; namespace EnvelopeGenerator.Application.Envelopes.Queries; /// /// Repräsentiert eine Abfrage für Umschläge. /// -public record ReadEnvelopeQuery : EnvelopeQueryBase, IRequest +public record ReadEnvelopeQuery : EnvelopeQueryBase, IRequest> { /// /// Abfrage des Include des Umschlags /// public EnvelopeStatusQuery? Status { get; init; } + + /// + /// + /// + public bool? HasDocResult { get; init; } } /// diff --git a/EnvelopeGenerator.Finalizer/Job/EnvelopeTaskApiJob.cs b/EnvelopeGenerator.Finalizer/Job/EnvelopeTaskApiJob.cs index 193b59e5..d3e9985d 100644 --- a/EnvelopeGenerator.Finalizer/Job/EnvelopeTaskApiJob.cs +++ b/EnvelopeGenerator.Finalizer/Job/EnvelopeTaskApiJob.cs @@ -15,7 +15,7 @@ namespace EnvelopeGenerator.Finalizer.Job { if (_logger.IsEnabled(LogLevel.Information)) { - _logger.LogInformation("{jobName} running at: {time}", GetType().FullName, DateTimeOffset.Now); + _logger.LogInformation("{jobName} running at: {time}", context.JobDetail.Key, DateTimeOffset.Now); } return Task.CompletedTask; diff --git a/EnvelopeGenerator.Finalizer/Job/FinishEnvelopeJob.cs b/EnvelopeGenerator.Finalizer/Job/FinishEnvelopeJob.cs index 6b35a8da..7d911a3a 100644 --- a/EnvelopeGenerator.Finalizer/Job/FinishEnvelopeJob.cs +++ b/EnvelopeGenerator.Finalizer/Job/FinishEnvelopeJob.cs @@ -1,3 +1,8 @@ +using EnvelopeGenerator.Application.Envelopes.Queries; +using EnvelopeGenerator.Domain.Constants; +using EnvelopeGenerator.Finalizer.Models; +using MediatR; +using Microsoft.Extensions.Options; using Quartz; namespace EnvelopeGenerator.Finalizer.Job @@ -6,19 +11,34 @@ namespace EnvelopeGenerator.Finalizer.Job { private readonly ILogger _logger; - public FinishEnvelopeJob(ILogger logger) + private readonly GdPictureOptions _gdPictureOptions; + + private readonly IMediator _mediator; + + public FinishEnvelopeJob(ILogger logger, IOptions gdPictureOptions, IMediator mediator) { _logger = logger; + _gdPictureOptions = gdPictureOptions.Value; + _mediator = mediator; } - public Task Execute(IJobExecutionContext context) + public async Task Execute(IJobExecutionContext context) { if (_logger.IsEnabled(LogLevel.Information)) { - _logger.LogInformation("{jobName} running at: {time}", GetType().FullName, DateTimeOffset.Now); + _logger.LogInformation("{jobName} running at: {time}", context.JobDetail.Key, DateTimeOffset.Now); } - return Task.CompletedTask; + var envelopes = await _mediator.Send(new ReadEnvelopeQuery() + { + Status = new() { Include = [EnvelopeStatus.EnvelopeCompletelySigned] }, + HasDocResult = false + }); + + foreach (var envelope in envelopes) + { + // add sub-steps + } } } } \ No newline at end of file