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
|
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
|
internal class MqTemplateDistributor : IMqTemplateDistributor
|
||||||
{
|
{
|
||||||
public void Start() { }
|
public void Start() {
|
||||||
|
|
||||||
|
// принимать TemplateDistributorMq
|
||||||
|
}
|
||||||
|
|
||||||
public void Stop() { }
|
public void Stop() { }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,16 +14,23 @@ namespace PARR.TemplateDistributor
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//TODO: AppInWorkId - перераспределение, очередь
|
public async Task UpdateScheduleAsync(Guid applicationInWorkId)
|
||||||
//public async Task
|
{
|
||||||
// распределить?
|
// все шаблоны по applicationInWorkId
|
||||||
// не распределить, NextRun = appInWork.ReferenceDate
|
// группирует по РР
|
||||||
|
// -> DistributeTemplateForPeriodAsync
|
||||||
|
// сохранить в БД
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public async Task<List<Template>> DistributeTemplateForPeriodAsync(List<Template> templates, Guid applicationInWorkId)
|
|
||||||
|
public async Task<List<Template>> DistributeTemplateAsync(List<Template> templates, Guid applicationInWorkId)
|
||||||
{
|
{
|
||||||
//TODO: ЗАГУЛШКА переделать!
|
//TODO: ЗАГУЛШКА переделать!
|
||||||
|
|
||||||
|
// распределить?
|
||||||
|
// не распределить, NextRun = appInWork.ReferenceDate
|
||||||
|
|
||||||
var appInWork = await applicationsInWorkService.Get().FirstOrDefaultAsync(t => t.Id == applicationInWorkId);
|
var appInWork = await applicationsInWorkService.Get().FirstOrDefaultAsync(t => t.Id == applicationInWorkId);
|
||||||
if (appInWork == null)
|
if (appInWork == null)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user