feat(templateDistributor): заготовка основных методов
This commit is contained in:
10
PARR.BLL/Domain/Mq/TemplateDistributorMq.cs
Normal file
10
PARR.BLL/Domain/Mq/TemplateDistributorMq.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace PARR.BLL.Domain.Mq
|
||||
{
|
||||
/// <summary>
|
||||
/// Модель в MQ, обновления расписаний шаблонов связанных с РР (для TemplateDistributor)
|
||||
/// </summary>
|
||||
public class TemplateDistributorMq
|
||||
{
|
||||
public Guid ApplicationInWorkId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,22 @@
|
||||
namespace PARR.TemplateDistributor
|
||||
using PARR.DAL.Models;
|
||||
|
||||
namespace PARR.TemplateDistributor
|
||||
{
|
||||
public interface ITemplateDistributor
|
||||
{
|
||||
/// <summary>
|
||||
/// Формирует расписание запуска для шаблонов относительно одной РР (без сохранения в БД), (реализует оба режима распределения РР)
|
||||
/// </summary>
|
||||
/// <param name="templates"></param>
|
||||
/// <param name="applicationInWorkId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<Template>> DistributeTemplateAsync(List<Template> templates, Guid applicationInWorkId);
|
||||
|
||||
/// <summary>
|
||||
/// Обновляет расписание запуска шаблонов по РР (сохраняет в БД)
|
||||
/// </summary>
|
||||
/// <param name="applicationInWorkId"></param>
|
||||
/// <returns></returns>
|
||||
Task UpdateScheduleAsync(Guid applicationInWorkId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,10 @@
|
||||
{
|
||||
internal class MqTemplateDistributor : IMqTemplateDistributor
|
||||
{
|
||||
public void Start() { }
|
||||
public void Start() {
|
||||
|
||||
// принимать TemplateDistributorMq
|
||||
}
|
||||
|
||||
public void Stop() { }
|
||||
}
|
||||
|
||||
@@ -14,16 +14,23 @@ namespace PARR.TemplateDistributor
|
||||
}
|
||||
|
||||
|
||||
//TODO: AppInWorkId - перераспределение, очередь
|
||||
//public async Task
|
||||
// распределить?
|
||||
// не распределить, NextRun = appInWork.ReferenceDate
|
||||
public async Task UpdateScheduleAsync(Guid applicationInWorkId)
|
||||
{
|
||||
// все шаблоны по applicationInWorkId
|
||||
// группирует по РР
|
||||
// -> DistributeTemplateForPeriodAsync
|
||||
// сохранить в БД
|
||||
}
|
||||
|
||||
|
||||
public async Task<List<Template>> DistributeTemplateForPeriodAsync(List<Template> templates, Guid applicationInWorkId)
|
||||
|
||||
public async Task<List<Template>> DistributeTemplateAsync(List<Template> templates, Guid applicationInWorkId)
|
||||
{
|
||||
//TODO: ЗАГУЛШКА переделать!
|
||||
|
||||
// распределить?
|
||||
// не распределить, NextRun = appInWork.ReferenceDate
|
||||
|
||||
var appInWork = await applicationsInWorkService.Get().FirstOrDefaultAsync(t => t.Id == applicationInWorkId);
|
||||
if (appInWork == null)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user