feat: Сервисы и модели RabbitMq разнесены согласно архитектуры

This commit is contained in:
Mikhail Trubnikov
2026-04-14 12:01:49 +10:00
parent 734c2e3c99
commit e892aa12d3
196 changed files with 589 additions and 1232 deletions

View File

@@ -1,22 +0,0 @@
namespace PARR.BLL.Domain.Mq
{
/// <summary>
/// Модель в MQ, данные из АИХИТ
/// </summary>
public class AihitDataMq
{
public required string EK { get; set; }
public string? IP { get; set; }
public string? DB { get; set; }
public string? APP { get; set; }
public string? CKBS { get; set; }
public string? IB { get; set; }
public string? SI { get; set; }
public string? SM { get; set; }
public string? OS { get; set; }
public string? WorkGroup { get; set; }
public required string Status { get; set; }
public required string ResponseArea { get; set; }
public required string WorkGroupResponseArea { get; set; }
}
}

View File

@@ -1,18 +0,0 @@
namespace PARR.BLL.Domain.Mq
{
/// <summary>
/// Модель в MQ, данные из АИХИТ для любой ХП
/// </summary>
public class AihitMainDataMq
{
/// <summary>
/// ЭК
/// </summary>
public required string Name { get; set; }
/// <summary>
/// Список полей ЭК, в формате - имя поля / значение
/// </summary>
public Dictionary<string, string?> Properties { get; set; } = new Dictionary<string, string?>();
}
}

View File

@@ -1,50 +0,0 @@
using PARR.Domain.Entities.Base.History;
namespace PARR.BLL.Domain.Mq
{
/// <summary>
/// Модель в MQ, запрос на генерацию шаблона
/// </summary>
public class GeneratorTemplateMq
{
/// <summary>
/// Id работы
/// </summary>
public Guid WorkId { get; set; }
/// <summary>
/// Id приложения
/// </summary>
public Guid ApplicationId { get; set; }
/// <summary>
/// Действие: create, deactivate
/// </summary>
public required string Action { get; set; }
/// <summary>
/// ЭК, принимает регулярное выражение. Например: *, ВРТ-*-ДВС
/// </summary>
public required string Ek { get; set; }
/// <summary>
/// Статус ЭК. Допустимые значения: 0 - все статусы, 1,2,3,4,5,6,7,9
/// </summary>
public int StatusEk { get; set; }
/// <summary>
/// Активировать шаблон
/// </summary>
public bool? IsActiveTemplate { get; set; }
/// <summary>
/// Активировать расписание
/// </summary>
public bool? IsActiveSchedule { get; set; }
/// <summary>
/// Инициатор запроса к генератору
/// </summary>
public HistoryInitiator? HistoryInitiator { get; set; }
}
}

View File

@@ -1,14 +0,0 @@
namespace PARR.BLL.Domain.Mq
{
/// <summary>
/// Ответ от API RabbitMQ
/// </summary>
public class MqApiResult
{
public bool IsSuccess { get; set; }
public object? Response { get; set; }
public Exception? Exception { get; set; }
}
}

View File

@@ -1,18 +0,0 @@
namespace PARR.BLL.Domain.Mq
{
/// <summary>
/// Результат отправки очереди в MQ
/// </summary>
public class MqSendResult
{
/// <summary>
/// Результат отправки
/// </summary>
public bool IsSuccess { get; set; }
/// <summary>
/// Неотправленные сообщения
/// </summary>
public string[]? NotSendMessages { get; set; }
}
}

View File

@@ -1,14 +0,0 @@
using PARR.Domain.Entities.Base.History;
namespace PARR.BLL.Domain.Mq
{
/// <summary>
/// Запрос на обновление всех nextRun для JobGroup
/// </summary>
public class NextRunUpdateMq
{
public Guid JobGroupId { get; set; }
public required HistoryInitiator Initiator { get; set; }
}
}

View File

@@ -1,10 +0,0 @@
namespace PARR.BLL.Domain.Mq
{
/// <summary>
/// Модель в MQ, запрос на изменение Наряда в ЕСПП
/// </summary>
public class OrderManageMq
{
public Guid OrderId { get; set; }
}
}

View File

@@ -1,43 +0,0 @@
using PARR.Constants;
using PARR.Domain.Entities.Base.History;
namespace PARR.BLL.Domain.Mq
{
/// <summary>
/// Модель в MQ, активация/деактивация шаблонов/расписаний
/// </summary>
public class TemplateActivatorMq
{
/// <summary>
/// ИД объекта, JobGroupId, JobId, TemplateId
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Тип объекта
/// </summary>
public SyncTaskEntityTypeEnum EntityType { get; set; }
/// <summary>
/// Учитывать неиспользованные шаблоны
/// </summary>
public bool AllowUnused { get; set; } = false;
/// <summary>
/// Объект воздейстивя (шаблон, расписание)
/// </summary>
public TemplateActivatorEsppObjectTypesEnum EsppObject { get; set; }
/// <summary>
/// Новое состояние объекта
/// </summary>
public bool NewState { get; set; }
/// <summary>
/// Инициатор изменений
/// </summary>
public required HistoryInitiator HistoryInitiator { get; set; }
}
}

View File

@@ -1,14 +0,0 @@
using PARR.Domain.Entities.Base.History;
namespace PARR.BLL.Domain.Mq
{
/// <summary>
/// Модель в MQ, распределить шаблоны для JobGroupId (для TemplateDistributor)
/// </summary>
public class TemplateDistributorMq
{
public Guid JobGroupId { get; set; }
public required HistoryInitiator Initiator { get; set; }
}
}

View File

@@ -1,46 +0,0 @@
using PARR.Domain.Entities.Base.History;
namespace PARR.BLL.Domain.Mq
{
/// <summary>
/// Модель в MQ, простого создания Template
/// </summary>
public class TemplateGeneratorMq
{
/// <summary>
/// Id регламентной работы
/// </summary>
public Guid JobId { get; set; }
/// <summary>
/// Id Юнита(единицы обслуживания)/ЭК
/// </summary>
public Guid UnitId { get; set; }
/// <summary>
/// Актировать шаблон при инициализации
/// </summary>
public bool? IsActiveTemplate { get; set; }
/// <summary>
/// Актировать расписание при инициализации
/// </summary>
public bool? IsActiveSchedule { get; set; }
/// <summary>
/// Инициатор запроса к генератору
/// </summary>
public HistoryInitiator? HistoryInitiator { get; set; }
/// <summary>
/// Связанные ЭК для сгруппированного типа JobGroup
/// </summary>
public required List<Guid> UnitsInTemplate { get; set; }
/// <summary>
/// Индекс, используется в групповых шаблонах
/// </summary>
public int? Index { get; set; }
}
}

View File

@@ -1,13 +0,0 @@
using PARR.Constants;
using PARR.Domain.Entities.Base.History;
namespace PARR.BLL.Domain.Mq
{
public class TemplateMatcherMq
{
public Guid Id { get; set; }
public SyncTaskEntityTypeEnum EntityType { get; set; }
public TemplateMatcherActionEnum Action { get; set; }
public required HistoryInitiator Initiator { get; set; }
}
}

View File

@@ -1,13 +0,0 @@
namespace PARR.BLL.Domain.Mq
{
/// <summary>
/// Модель в MQ, генератора заданий на генерацию шаблонов
/// </summary>
public class TemplateTaskGeneratorMq
{
/// <summary>
/// Id регламентной работы
/// </summary>
public Guid JobId { get; set; }
}
}

View File

@@ -1,58 +0,0 @@
using PARR.Constants;
using PARR.Domain.Entities.Base.History;
namespace PARR.BLL.Domain.Mq
{
public class TemplateUpdaterMq
{
public Guid TemplateId { get; set; }
/// <summary>
/// Id регламентной работы
/// </summary>
public Guid JobId { get; set; }
public required string Name { get; set; }
/// <summary>
/// Актировать шаблон при инициализации
/// </summary>
public bool IsActiveTemplate { get; set; }
/// <summary>
/// Актировать расписание при инициализации
/// </summary>
public bool IsActiveSchedule { get; set; }
//public DateTimeOffset? LastRun { get; set; }
//public DateTimeOffset NextRun { get; set; }
/// <summary>
/// Это новый шаблон? (true - перемещаем существующий в новый Job) (false - шаблон остается в своем Job)
/// </summary>
public bool IsNew { get; set; }
/// <summary>
/// Id Юнита(единицы обслуживания)/ЭК
/// </summary>
public Guid UnitId { get; set; }
/// <summary>
/// Индекс, используется в групповых шаблонах
/// </summary>
public int? Index { get; set; }
public TemplateStatusTypeEnum StatusTypeId { get; set; }
/// <summary>
/// Инициатор запроса к генератору
/// </summary>
public required HistoryInitiator Initiator { get; set; }
/// <summary>
/// Связанные ЭК для сгруппированного типа JobGroup
/// </summary>
public required List<Guid> UnitsInTemplate { get; set; }
}
}