feat(AIHITMainLoader, API, JobAutoControl, Master): изменен метод отправки сообщений в RabbitMq
This commit is contained in:
@@ -3,8 +3,8 @@ using Microsoft.Extensions.Logging;
|
|||||||
using PARR.AIHITMainLoader.Models;
|
using PARR.AIHITMainLoader.Models;
|
||||||
using PARR.AIHITMainLoader.Services;
|
using PARR.AIHITMainLoader.Services;
|
||||||
using PARR.AIHITMainLoader.Settings;
|
using PARR.AIHITMainLoader.Settings;
|
||||||
using PARR.BLL.Domain.Mq;
|
|
||||||
using PARR.BLL.Services.Interfaces;
|
using PARR.BLL.Services.Interfaces;
|
||||||
|
using System.Text.Encodings.Web;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
|
|
||||||
namespace PARR.AIHITMainLoader
|
namespace PARR.AIHITMainLoader
|
||||||
@@ -19,6 +19,11 @@ namespace PARR.AIHITMainLoader
|
|||||||
private readonly IMqService mqService;
|
private readonly IMqService mqService;
|
||||||
private readonly IServiceProvider serviceProvider;
|
private readonly IServiceProvider serviceProvider;
|
||||||
|
|
||||||
|
private static readonly JsonSerializerOptions jsonOptions = new JsonSerializerOptions
|
||||||
|
{
|
||||||
|
Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping,
|
||||||
|
};
|
||||||
|
|
||||||
public AihitMainLoader(
|
public AihitMainLoader(
|
||||||
ILogger<AihitMainLoader> logger,
|
ILogger<AihitMainLoader> logger,
|
||||||
IIntervalService intervalService,
|
IIntervalService intervalService,
|
||||||
@@ -82,7 +87,7 @@ namespace PARR.AIHITMainLoader
|
|||||||
var mainData = item.ToMainData();
|
var mainData = item.ToMainData();
|
||||||
if (mainData == null) continue;
|
if (mainData == null) continue;
|
||||||
|
|
||||||
var json = JsonSerializer.Serialize(mainData);
|
var json = JsonSerializer.Serialize(mainData, jsonOptions);
|
||||||
currentBatch.Add(json);
|
currentBatch.Add(json);
|
||||||
|
|
||||||
// Отправка, если набрали полный пакет
|
// Отправка, если набрали полный пакет
|
||||||
|
|||||||
@@ -72,9 +72,10 @@ namespace PARR.API.Controllers.V1
|
|||||||
HistoryInitiator = new HistoryInitiator { InitiatorIp = clientService.GetClientIp()?.ToString(), InitiatorParrComponentId = ParrComponentsEnum.Api }
|
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<object> { obj });
|
||||||
|
|
||||||
if (_result.IsSuccess == false)
|
if (_result.IsSuccess == false)
|
||||||
result = false;
|
result = false;
|
||||||
|
|||||||
@@ -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<object> { request });
|
||||||
|
|
||||||
var result = await mqService.SendAsync(mqSettings.TemplatesMatcher, new[] { msg });
|
|
||||||
logger.LogDebug("Получен код отпрвки: {IsSuccess}", result.IsSuccess);
|
logger.LogDebug("Получен код отпрвки: {IsSuccess}", result.IsSuccess);
|
||||||
|
|
||||||
if (!result.IsSuccess)
|
if (!result.IsSuccess)
|
||||||
{
|
{
|
||||||
logger.LogError($"Ошибка при отправке запроса в очередь на обновление связанных шаблонов, после обновления маски шаблона. {msg}");
|
logger.LogError($"Ошибка при отправке запроса в очередь на обновление связанных шаблонов, после обновления маски шаблона. {request.ToJson()}");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.LogInformation($"После изменения маски шаблона в jobId: {jobId}, отправлен запрос в очередь на переименование связанных шаблонов: {msg}");
|
logger.LogInformation($"После изменения маски шаблона в jobId: {jobId}, отправлен запрос в очередь на переименование связанных шаблонов: {request.ToJson()}");
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,10 +73,11 @@ namespace PARR.API.Controllers.V1
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var msg = JsonSerializer.Serialize(matchTemplateTask);
|
//var msg = JsonSerializer.Serialize(matchTemplateTask);
|
||||||
logger.LogDebug("Подготовлено сообщение: {Message}", new[] { msg });
|
//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<object> { matchTemplateTask });
|
||||||
logger.LogDebug("Получен код отпрвки: {IsSuccess}", result.IsSuccess);
|
logger.LogDebug("Получен код отпрвки: {IsSuccess}", result.IsSuccess);
|
||||||
|
|
||||||
if (!result.IsSuccess)
|
if (!result.IsSuccess)
|
||||||
|
|||||||
@@ -67,9 +67,10 @@ namespace PARR.API.Controllers.V1
|
|||||||
HistoryInitiator = new HistoryInitiator { InitiatorIp = clientService.GetClientIp()?.ToString(), InitiatorParrComponentId = ParrComponentsEnum.Api }
|
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<object> { mqRequest });
|
||||||
|
|
||||||
if (!sendResult.IsSuccess)
|
if (!sendResult.IsSuccess)
|
||||||
return BadRequest(new Response(false, new List<ErrorModel> { new ErrorModel { Message = $"Ошибка при отправке данных." } }));
|
return BadRequest(new Response(false, new List<ErrorModel> { new ErrorModel { Message = $"Ошибка при отправке данных." } }));
|
||||||
|
|||||||
@@ -75,17 +75,18 @@ namespace PARR.JobAutoControl
|
|||||||
InitiatorIp = null,
|
InitiatorIp = null,
|
||||||
InitiatorParrComponentId = Constants.ParrComponentsEnum.JobAutoControl
|
InitiatorParrComponentId = Constants.ParrComponentsEnum.JobAutoControl
|
||||||
}
|
}
|
||||||
});
|
}).ToList();
|
||||||
|
|
||||||
var msgStrList = msgList.Select(t => JsonSerializer.Serialize(t));
|
//var msgStrList = msgList.Select(t => JsonSerializer.Serialize(t));
|
||||||
|
|
||||||
// отправляем задания в очередь template matcher`a
|
// отправляем задания в очередь 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<object>());
|
||||||
|
|
||||||
if (!sendResult.IsSuccess)
|
if (!sendResult.IsSuccess)
|
||||||
logger.LogError($"Ошибка при отправке сообщений ({msgStrList.Count()} шт.) в очередь.");
|
logger.LogError($"Ошибка при отправке сообщений ({msgList.Count()} шт.) в очередь.");
|
||||||
else
|
else
|
||||||
logger.LogInformation($"Выполнена отправка сообщений в очередь, {msgStrList.Count()} шт.");
|
logger.LogInformation($"Выполнена отправка сообщений в очередь, {msgList.Count()} шт.");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ using PARR.DAL.Contracts;
|
|||||||
using PARR.DAL.Models;
|
using PARR.DAL.Models;
|
||||||
using PARR.DAL.Services.Interfaces;
|
using PARR.DAL.Services.Interfaces;
|
||||||
using PARR.Master.Settings;
|
using PARR.Master.Settings;
|
||||||
|
using System.Text.Encodings.Web;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
|
|
||||||
namespace PARR.Master.Services
|
namespace PARR.Master.Services
|
||||||
@@ -20,6 +21,11 @@ namespace PARR.Master.Services
|
|||||||
private readonly MqSettings mqSettings;
|
private readonly MqSettings mqSettings;
|
||||||
private readonly IMqService mqService;
|
private readonly IMqService mqService;
|
||||||
|
|
||||||
|
private static readonly JsonSerializerOptions jsonOptions = new JsonSerializerOptions
|
||||||
|
{
|
||||||
|
Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping,
|
||||||
|
};
|
||||||
|
|
||||||
public OrderMasterService(
|
public OrderMasterService(
|
||||||
ILogger<OrderMasterService> logger,
|
ILogger<OrderMasterService> logger,
|
||||||
IOrderService orderService,
|
IOrderService orderService,
|
||||||
@@ -60,7 +66,7 @@ namespace PARR.Master.Services
|
|||||||
|
|
||||||
//находим наряды где статусы не равны, добавляем их в Rabbit
|
//находим наряды где статусы не равны, добавляем их в Rabbit
|
||||||
var ordersWithStatusNotEqual = await GetOrdresWithStatusCodeNotEqualAsync();
|
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.");
|
logger.LogInformation($"Ищу наряды где статусы не равны. Найдено нарядов: {ordersWithStatusNotEqual.Count()}. Добавляю их в RabbitMQ.");
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user