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

@@ -0,0 +1,22 @@
using PARR.Domain.DTOs.RabbitApi;
using PARR.Domain.Settings;
namespace PARR.Core.Common.RabbitServices
{
public interface IRabbitAdminService
{
/// <summary>
/// Получить статистику соединений из RabbitMQ
/// </summary>
/// <param name="mqSettings"></param>
/// <returns></returns>
Task<RabbitApiResult> GetConnectionsAsync(IMqSettings mqSettings);
/// <summary>
/// Получить статистику по очередям из RabbitMQ
/// </summary>
/// <param name="mqSettings"></param>
/// <returns></returns>
Task<RabbitApiResult> GetQueuesAsync(IMqSettings mqSettings);
}
}

View File

@@ -0,0 +1,29 @@
using PARR.Domain.Common.Rabbit;
using PARR.Domain.Settings;
namespace PARR.Core.Common.RabbitServices
{
public delegate Task MqMessageHandlerDelegate(string msg);
public interface IRabbitService : IAsyncDisposable
{
Task<bool> InitConsumerAsync(IMqSettings mqSettings, MqMessageHandlerDelegate messageHandler);
/// <summary>
/// Отправить сообщение в очередь используя список строк
/// !!! Избавиться от этого метода, вместо него использовать со списком объектов !!!
/// </summary>
/// <param name="mqSettings"></param>
/// <param name="msgList"></param>
/// <returns></returns>
Task<RabbitSendResult> SendAsync(IMqSettings mqSettings, string[] msgList);
/// <summary>
/// Отправить сообщение в очередь используя список объектов
/// </summary>
/// <param name="mqSettings"></param>
/// <param name="msgObjectList"></param>
/// <returns></returns>
Task<RabbitSendResult> SendAsync(IMqSettings mqSettings, List<object> msgObjectList);
}
}