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
This commit is contained in:
tekh 2025-11-05 12:55:49 +01:00
parent 1713a65014
commit a62a035ec6
3 changed files with 32 additions and 6 deletions

View File

@ -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;
/// <summary>
/// Repräsentiert eine Abfrage für Umschläge.
/// </summary>
public record ReadEnvelopeQuery : EnvelopeQueryBase, IRequest
public record ReadEnvelopeQuery : EnvelopeQueryBase, IRequest<IEnumerable<EnvelopeDto>>
{
/// <summary>
/// Abfrage des Include des Umschlags
/// </summary>
public EnvelopeStatusQuery? Status { get; init; }
/// <summary>
///
/// </summary>
public bool? HasDocResult { get; init; }
}
/// <summary>

View File

@ -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;

View File

@ -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<FinishEnvelopeJob> _logger;
public FinishEnvelopeJob(ILogger<FinishEnvelopeJob> logger)
private readonly GdPictureOptions _gdPictureOptions;
private readonly IMediator _mediator;
public FinishEnvelopeJob(ILogger<FinishEnvelopeJob> logger, IOptions<GdPictureOptions> 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
}
}
}
}