feat: Сервисы и модели RabbitMq разнесены согласно архитектуры
This commit is contained in:
22
PARR.Domain/Common/Rabbit/Messages/AihitDataMq.cs
Normal file
22
PARR.Domain/Common/Rabbit/Messages/AihitDataMq.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
namespace PARR.Domain.Common.Rabbit.Messages
|
||||
{
|
||||
/// <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; }
|
||||
}
|
||||
}
|
||||
18
PARR.Domain/Common/Rabbit/Messages/AihitMainDataMq.cs
Normal file
18
PARR.Domain/Common/Rabbit/Messages/AihitMainDataMq.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
namespace PARR.Domain.Common.Rabbit.Messages
|
||||
{
|
||||
/// <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?>();
|
||||
}
|
||||
}
|
||||
50
PARR.Domain/Common/Rabbit/Messages/GeneratorTemplateMq.cs
Normal file
50
PARR.Domain/Common/Rabbit/Messages/GeneratorTemplateMq.cs
Normal file
@@ -0,0 +1,50 @@
|
||||
using PARR.Domain.Entities.Base.History;
|
||||
|
||||
namespace PARR.Domain.Common.Rabbit.Messages
|
||||
{
|
||||
/// <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; }
|
||||
}
|
||||
}
|
||||
14
PARR.Domain/Common/Rabbit/Messages/NextRunUpdateMq.cs
Normal file
14
PARR.Domain/Common/Rabbit/Messages/NextRunUpdateMq.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using PARR.Domain.Entities.Base.History;
|
||||
|
||||
namespace PARR.Domain.Common.Rabbit.Messages
|
||||
{
|
||||
/// <summary>
|
||||
/// Запрос на обновление всех nextRun для JobGroup
|
||||
/// </summary>
|
||||
public class NextRunUpdateMq
|
||||
{
|
||||
public Guid JobGroupId { get; set; }
|
||||
|
||||
public required HistoryInitiator Initiator { get; set; }
|
||||
}
|
||||
}
|
||||
10
PARR.Domain/Common/Rabbit/Messages/OrderManageMq.cs
Normal file
10
PARR.Domain/Common/Rabbit/Messages/OrderManageMq.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace PARR.Domain.Common.Rabbit.Messages
|
||||
{
|
||||
/// <summary>
|
||||
/// Модель в MQ, запрос на изменение Наряда в ЕСПП
|
||||
/// </summary>
|
||||
public class OrderManageMq
|
||||
{
|
||||
public Guid OrderId { get; set; }
|
||||
}
|
||||
}
|
||||
43
PARR.Domain/Common/Rabbit/Messages/TemplateActivatorMq.cs
Normal file
43
PARR.Domain/Common/Rabbit/Messages/TemplateActivatorMq.cs
Normal file
@@ -0,0 +1,43 @@
|
||||
using PARR.Domain.Entities.Base.History;
|
||||
using PARR.Domain.Enums;
|
||||
|
||||
namespace PARR.Domain.Common.Rabbit.Messages
|
||||
{
|
||||
/// <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; }
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
14
PARR.Domain/Common/Rabbit/Messages/TemplateDistributorMq.cs
Normal file
14
PARR.Domain/Common/Rabbit/Messages/TemplateDistributorMq.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using PARR.Domain.Entities.Base.History;
|
||||
|
||||
namespace PARR.Domain.Common.Rabbit.Messages
|
||||
{
|
||||
/// <summary>
|
||||
/// Модель в MQ, распределить шаблоны для JobGroupId (для TemplateDistributor)
|
||||
/// </summary>
|
||||
public class TemplateDistributorMq
|
||||
{
|
||||
public Guid JobGroupId { get; set; }
|
||||
|
||||
public required HistoryInitiator Initiator { get; set; }
|
||||
}
|
||||
}
|
||||
46
PARR.Domain/Common/Rabbit/Messages/TemplateGeneratorMq.cs
Normal file
46
PARR.Domain/Common/Rabbit/Messages/TemplateGeneratorMq.cs
Normal file
@@ -0,0 +1,46 @@
|
||||
using PARR.Domain.Entities.Base.History;
|
||||
|
||||
namespace PARR.Domain.Common.Rabbit.Messages
|
||||
{
|
||||
/// <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; }
|
||||
|
||||
}
|
||||
}
|
||||
13
PARR.Domain/Common/Rabbit/Messages/TemplateMatcherMq.cs
Normal file
13
PARR.Domain/Common/Rabbit/Messages/TemplateMatcherMq.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using PARR.Domain.Entities.Base.History;
|
||||
using PARR.Domain.Enums;
|
||||
|
||||
namespace PARR.Domain.Common.Rabbit.Messages
|
||||
{
|
||||
public class TemplateMatcherMq
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public SyncTaskEntityTypeEnum EntityType { get; set; }
|
||||
public TemplateMatcherActionEnum Action { get; set; }
|
||||
public required HistoryInitiator Initiator { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
namespace PARR.Domain.Common.Rabbit.Messages
|
||||
{
|
||||
/// <summary>
|
||||
/// Модель в MQ, генератора заданий на генерацию шаблонов
|
||||
/// </summary>
|
||||
public class TemplateTaskGeneratorMq
|
||||
{
|
||||
/// <summary>
|
||||
/// Id регламентной работы
|
||||
/// </summary>
|
||||
public Guid JobId { get; set; }
|
||||
}
|
||||
}
|
||||
58
PARR.Domain/Common/Rabbit/Messages/TemplateUpdaterMq.cs
Normal file
58
PARR.Domain/Common/Rabbit/Messages/TemplateUpdaterMq.cs
Normal file
@@ -0,0 +1,58 @@
|
||||
using PARR.Domain.Entities.Base.History;
|
||||
using PARR.Domain.Enums;
|
||||
|
||||
namespace PARR.Domain.Common.Rabbit.Messages
|
||||
{
|
||||
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; }
|
||||
}
|
||||
}
|
||||
18
PARR.Domain/Common/Rabbit/RabbitSendResult.cs
Normal file
18
PARR.Domain/Common/Rabbit/RabbitSendResult.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
namespace PARR.Domain.Common.Rabbit
|
||||
{
|
||||
/// <summary>
|
||||
/// Результат отправки очереди в MQ
|
||||
/// </summary>
|
||||
public record RabbitSendResult
|
||||
{
|
||||
/// <summary>
|
||||
/// Результат отправки
|
||||
/// </summary>
|
||||
public bool IsSuccess { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Неотправленные сообщения
|
||||
/// </summary>
|
||||
public string[]? NotSendMessages { get; init; }
|
||||
}
|
||||
}
|
||||
44
PARR.Domain/Common/Roles/ParrRoles.cs
Normal file
44
PARR.Domain/Common/Roles/ParrRoles.cs
Normal file
@@ -0,0 +1,44 @@
|
||||
namespace PARR.Domain.Common.Roles
|
||||
{
|
||||
/// <summary>
|
||||
/// Роли ПАРР
|
||||
/// </summary>
|
||||
public static class ParrRoles
|
||||
{
|
||||
// Подробнее о авторизации в документации в разделе Авторизация
|
||||
|
||||
private const string Base = Administrator.Role + ",";
|
||||
|
||||
/// <summary>
|
||||
/// Роль: Администратор
|
||||
/// </summary>
|
||||
public static class Administrator
|
||||
{
|
||||
public const string Role = "administrator";
|
||||
|
||||
public const string Description = "Администратор";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Роль: agent Агент
|
||||
/// </summary>
|
||||
public static class Agent
|
||||
{
|
||||
public const string Role = "agent";
|
||||
public const string RoleOrAdmin = Base + Role;
|
||||
|
||||
public const string Description = "Агент";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Роль: espp-robot Робот ЕСПП
|
||||
/// </summary>
|
||||
public static class EsppRobot
|
||||
{
|
||||
public const string Role = "espp-robot";
|
||||
public const string RoleOrAdmin = Base + Role;
|
||||
|
||||
public const string Description = "Робот ЕСПП";
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user