diff --git a/PARR.AIHITMainLoader/AihitMainLoader.cs b/PARR.AIHITMainLoader/AihitMainLoader.cs index 4d25c645..056ec037 100644 --- a/PARR.AIHITMainLoader/AihitMainLoader.cs +++ b/PARR.AIHITMainLoader/AihitMainLoader.cs @@ -3,8 +3,8 @@ using Microsoft.Extensions.Logging; using PARR.AIHITMainLoader.Models; using PARR.AIHITMainLoader.Services; using PARR.AIHITMainLoader.Settings; -using PARR.BLL.Domain.Mq; using PARR.BLL.Services.Interfaces; +using System.Text.Encodings.Web; using System.Text.Json; namespace PARR.AIHITMainLoader @@ -19,6 +19,11 @@ namespace PARR.AIHITMainLoader private readonly IMqService mqService; private readonly IServiceProvider serviceProvider; + private static readonly JsonSerializerOptions jsonOptions = new JsonSerializerOptions + { + Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping, + }; + public AihitMainLoader( ILogger logger, IIntervalService intervalService, @@ -82,7 +87,7 @@ namespace PARR.AIHITMainLoader var mainData = item.ToMainData(); if (mainData == null) continue; - var json = JsonSerializer.Serialize(mainData); + var json = JsonSerializer.Serialize(mainData, jsonOptions); currentBatch.Add(json); // Отправка, если набрали полный пакет diff --git a/PARR.API/Controllers/V1/GeneratorTemplateController.cs b/PARR.API/Controllers/V1/GeneratorTemplateController.cs index 396ec4db..18ff6243 100644 --- a/PARR.API/Controllers/V1/GeneratorTemplateController.cs +++ b/PARR.API/Controllers/V1/GeneratorTemplateController.cs @@ -72,9 +72,10 @@ namespace PARR.API.Controllers.V1 HistoryInitiator = new HistoryInitiator { InitiatorIp = clientService.GetClientIp()?.ToString(), InitiatorParrComponentId = ParrComponentsEnum.Api } }; - var msg = JsonSerializer.Serialize(obj); + //var msg = JsonSerializer.Serialize(obj); - var _result = await mqService.SendAsync(mqSettings.GenerateTemplates, new[] { msg }); + //var _result = await mqService.SendAsync(mqSettings.GenerateTemplates, new[] { msg }); + var _result = await mqService.SendAsync(mqSettings.GenerateTemplates, new List { obj }); if (_result.IsSuccess == false) result = false; diff --git a/PARR.API/Controllers/V1/JobController.cs b/PARR.API/Controllers/V1/JobController.cs index 5aec320a..09730c85 100644 --- a/PARR.API/Controllers/V1/JobController.cs +++ b/PARR.API/Controllers/V1/JobController.cs @@ -640,18 +640,20 @@ namespace PARR.API.Controllers.V1 } }; - var msg = JsonSerializer.Serialize(request); + //var msg = JsonSerializer.Serialize(request); + + //var result = await mqService.SendAsync(mqSettings.TemplatesMatcher, new[] { msg }); + var result = await mqService.SendAsync(mqSettings.TemplatesMatcher, new List { request }); - var result = await mqService.SendAsync(mqSettings.TemplatesMatcher, new[] { msg }); logger.LogDebug("Получен код отпрвки: {IsSuccess}", result.IsSuccess); if (!result.IsSuccess) { - logger.LogError($"Ошибка при отправке запроса в очередь на обновление связанных шаблонов, после обновления маски шаблона. {msg}"); + logger.LogError($"Ошибка при отправке запроса в очередь на обновление связанных шаблонов, после обновления маски шаблона. {request.ToJson()}"); return false; } - logger.LogInformation($"После изменения маски шаблона в jobId: {jobId}, отправлен запрос в очередь на переименование связанных шаблонов: {msg}"); + logger.LogInformation($"После изменения маски шаблона в jobId: {jobId}, отправлен запрос в очередь на переименование связанных шаблонов: {request.ToJson()}"); return true; } diff --git a/PARR.API/Controllers/V1/SyncTaskController.cs b/PARR.API/Controllers/V1/SyncTaskController.cs index 30ad6f34..ec7767ef 100644 --- a/PARR.API/Controllers/V1/SyncTaskController.cs +++ b/PARR.API/Controllers/V1/SyncTaskController.cs @@ -73,10 +73,11 @@ namespace PARR.API.Controllers.V1 } }; - var msg = JsonSerializer.Serialize(matchTemplateTask); - logger.LogDebug("Подготовлено сообщение: {Message}", new[] { msg }); + //var msg = JsonSerializer.Serialize(matchTemplateTask); + //logger.LogDebug("Подготовлено сообщение: {Message}", new[] { msg }); - var result = await mqService.SendAsync(mqSettings.TemplatesMatcher, new[] { msg }); + //var result = await mqService.SendAsync(mqSettings.TemplatesMatcher, new[] { msg }); + var result = await mqService.SendAsync(mqSettings.TemplatesMatcher, new List { matchTemplateTask }); logger.LogDebug("Получен код отпрвки: {IsSuccess}", result.IsSuccess); if (!result.IsSuccess) diff --git a/PARR.API/Controllers/V1/TemplateActivatorController.cs b/PARR.API/Controllers/V1/TemplateActivatorController.cs index 24a2af7c..e006910b 100644 --- a/PARR.API/Controllers/V1/TemplateActivatorController.cs +++ b/PARR.API/Controllers/V1/TemplateActivatorController.cs @@ -67,9 +67,10 @@ namespace PARR.API.Controllers.V1 HistoryInitiator = new HistoryInitiator { InitiatorIp = clientService.GetClientIp()?.ToString(), InitiatorParrComponentId = ParrComponentsEnum.Api } }; - var msg = JsonSerializer.Serialize(mqRequest); + //var msg = JsonSerializer.Serialize(mqRequest); - var sendResult = await mqService.SendAsync(mqSettings.TemplateActivator, new[] { msg }); + //var sendResult = await mqService.SendAsync(mqSettings.TemplateActivator, new[] { msg }); + var sendResult = await mqService.SendAsync(mqSettings.TemplateActivator, new List { mqRequest }); if (!sendResult.IsSuccess) return BadRequest(new Response(false, new List { new ErrorModel { Message = $"Ошибка при отправке данных." } })); diff --git a/PARR.JobAutoControl/JobAutoControlManager.cs b/PARR.JobAutoControl/JobAutoControlManager.cs index b6bd5e97..6ab362b6 100644 --- a/PARR.JobAutoControl/JobAutoControlManager.cs +++ b/PARR.JobAutoControl/JobAutoControlManager.cs @@ -75,17 +75,18 @@ namespace PARR.JobAutoControl InitiatorIp = null, InitiatorParrComponentId = Constants.ParrComponentsEnum.JobAutoControl } - }); + }).ToList(); - var msgStrList = msgList.Select(t => JsonSerializer.Serialize(t)); + //var msgStrList = msgList.Select(t => JsonSerializer.Serialize(t)); // отправляем задания в очередь template matcher`a - var sendResult = await mqService.SendAsync(mqSettings.TemplateMatcher, msgStrList.ToArray()); + //var sendResult = await mqService.SendAsync(mqSettings.TemplateMatcher, msgStrList.ToArray()); + var sendResult = await mqService.SendAsync(mqSettings.TemplateMatcher, msgList.ToList()); if (!sendResult.IsSuccess) - logger.LogError($"Ошибка при отправке сообщений ({msgStrList.Count()} шт.) в очередь."); + logger.LogError($"Ошибка при отправке сообщений ({msgList.Count()} шт.) в очередь."); else - logger.LogInformation($"Выполнена отправка сообщений в очередь, {msgStrList.Count()} шт."); + logger.LogInformation($"Выполнена отправка сообщений в очередь, {msgList.Count()} шт."); } } diff --git a/PARR.Master/Services/OrderMasterService.cs b/PARR.Master/Services/OrderMasterService.cs index a64e44aa..4a33c372 100644 --- a/PARR.Master/Services/OrderMasterService.cs +++ b/PARR.Master/Services/OrderMasterService.cs @@ -7,6 +7,7 @@ using PARR.DAL.Contracts; using PARR.DAL.Models; using PARR.DAL.Services.Interfaces; using PARR.Master.Settings; +using System.Text.Encodings.Web; using System.Text.Json; namespace PARR.Master.Services @@ -20,6 +21,11 @@ namespace PARR.Master.Services private readonly MqSettings mqSettings; private readonly IMqService mqService; + private static readonly JsonSerializerOptions jsonOptions = new JsonSerializerOptions + { + Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping, + }; + public OrderMasterService( ILogger logger, IOrderService orderService, @@ -60,7 +66,7 @@ namespace PARR.Master.Services //находим наряды где статусы не равны, добавляем их в Rabbit var ordersWithStatusNotEqual = await GetOrdresWithStatusCodeNotEqualAsync(); - var objs = ordersWithStatusNotEqual.Select(t => JsonSerializer.Serialize(new OrderManageMq { OrderId = t.Id })); + var objs = ordersWithStatusNotEqual.Select(t => JsonSerializer.Serialize(new OrderManageMq { OrderId = t.Id }, jsonOptions)); logger.LogInformation($"Ищу наряды где статусы не равны. Найдено нарядов: {ordersWithStatusNotEqual.Count()}. Добавляю их в RabbitMQ.");