irc-netcore-api/IRaCIS.Core.Application/MassTransit/Recurring/RecurringEmailConsumer.cs

69 lines
1.5 KiB
C#

using IRaCIS.Core.Application.MassTransit.Command;
using MassTransit;
using MassTransit.Scheduling;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IRaCIS.Core.Application.MassTransit.Consumer;
public abstract class IRCRecurringSchedule :
RecurringSchedule
{
protected IRCRecurringSchedule()
{
ScheduleGroup = GetType().Name;
TimeZoneId = TimeZoneInfo.Local.Id;
StartTime = DateTime.Now;
}
public MissedEventPolicy MisfirePolicy { get; protected set; }
public string TimeZoneId { get; protected set; }
public DateTimeOffset StartTime { get; protected set; }
public DateTimeOffset? EndTime { get; protected set; }
public string ScheduleId { get; set; }
public string ScheduleGroup { get; private set; }
public string CronExpression { get; set; }
public string Description { get; protected set; }
}
/// <summary>
/// QC 影像质疑待处理
/// </summary>
public class QCImageQuestionSchedule : IRCRecurringSchedule
{
}
/// <summary>
/// CRC 影像质疑
/// </summary>
public class CRCImageQuestionSchedule : IRCRecurringSchedule
{
}
/// <summary>
/// 影像质控
/// </summary>
public class ImageQCSchedule : IRCRecurringSchedule
{
}
public class QCImageQuestionScheduleConsumer : IConsumer<QCImageQuestionSchedule>
{
public Task Consume(ConsumeContext<QCImageQuestionSchedule> context)
{
Console.WriteLine(DateTime.Now);
return Task.CompletedTask;
}
}