feat(templateDistributor, BLL): доделал распределение шаблонов. Сохраняет в БД + ставит задания роботам на обновление. MqService - может принимать список объектов для отправки, доработана кодировка отправки сообщений.
This commit is contained in:
@@ -5,10 +5,13 @@ using PARR.API.Contracts.V1;
|
||||
using PARR.API.Contracts.V1.Requests;
|
||||
using PARR.API.Contracts.V1.Responses.Base;
|
||||
using PARR.API.Controllers.V1.Base;
|
||||
using PARR.API.Services.Interfaces;
|
||||
using PARR.API.Settings;
|
||||
using PARR.BLL.Domain.Mq;
|
||||
using PARR.BLL.Services.Interfaces;
|
||||
using PARR.Common.Domain;
|
||||
using PARR.Constants;
|
||||
using System.Text.Encodings.Web;
|
||||
using System.Text.Json;
|
||||
|
||||
namespace PARR.API.Controllers.V1
|
||||
@@ -22,16 +25,19 @@ namespace PARR.API.Controllers.V1
|
||||
private readonly IMqService mqService;
|
||||
private readonly MqSettings mqSettings;
|
||||
private readonly IValidator<DistributeRequest> validator;
|
||||
private readonly IClientService clientService;
|
||||
|
||||
public DistributorController(
|
||||
IMqService mqService,
|
||||
MqSettings mqSettings,
|
||||
IValidator<DistributeRequest> validator
|
||||
IValidator<DistributeRequest> validator,
|
||||
IClientService clientService
|
||||
)
|
||||
{
|
||||
this.mqService = mqService;
|
||||
this.mqSettings = mqSettings;
|
||||
this.validator = validator;
|
||||
this.clientService = clientService;
|
||||
}
|
||||
|
||||
|
||||
@@ -48,12 +54,23 @@ namespace PARR.API.Controllers.V1
|
||||
|
||||
var requestToMq = new TemplateDistributorMq
|
||||
{
|
||||
JobGroupId = request.JobGroupId
|
||||
JobGroupId = request.JobGroupId,
|
||||
Initiator = new HistoryInitiator
|
||||
{
|
||||
InitiatorComment = "Через API отправлен запрос на распределение шаблонов",
|
||||
InitiatorIp = clientService.GetClientIp()?.ToString(),
|
||||
InitiatorParrComponentId = ParrComponentsEnum.Api
|
||||
}
|
||||
};
|
||||
|
||||
var msg = JsonSerializer.Serialize(requestToMq);
|
||||
//var jsonOptions = new JsonSerializerOptions
|
||||
//{
|
||||
// Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping,
|
||||
//};
|
||||
//var msg = JsonSerializer.Serialize(requestToMq, jsonOptions);
|
||||
|
||||
var sendResult = await mqService.SendAsync(mqSettings.TemplateDistributor, new[] { msg });
|
||||
//var sendResult = await mqService.SendAsync(mqSettings.TemplateDistributor, new[] { msg });
|
||||
var sendResult = await mqService.SendAsync(mqSettings.TemplateDistributor, new List<object> { requestToMq });
|
||||
|
||||
if (sendResult.IsSuccess)
|
||||
return Created("", new Response<string?>(null, true, new List<ErrorModel>(), "Отправлен запрос на перераспределение регламентных работ."));
|
||||
|
||||
Reference in New Issue
Block a user