From 7b3e64c733caaa814bf88bda5a9e546334e8a1e2 Mon Sep 17 00:00:00 2001 From: Mikhail Kuznetsov Date: Thu, 5 Feb 2026 09:15:40 +1000 Subject: [PATCH] =?UTF-8?q?feat(templateMatcher):=20=D0=BD=D0=B5=D0=B7?= =?UTF-8?q?=D0=BD=D0=B0=D1=87=D0=B8=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B?= =?UTF-8?q?=D0=B5=20=D1=83=D0=BB=D1=83=D1=87=D1=88=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/TemplateUpdaterService.cs | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/PARR.TemplateUpdater/Services/TemplateUpdaterService.cs b/PARR.TemplateUpdater/Services/TemplateUpdaterService.cs index d8296c6c..668c7d73 100644 --- a/PARR.TemplateUpdater/Services/TemplateUpdaterService.cs +++ b/PARR.TemplateUpdater/Services/TemplateUpdaterService.cs @@ -40,7 +40,7 @@ namespace PARR.TemplateUpdater.Services var isValid = await IsValidAsync(query); if (!isValid) { - logger.LogError($"Не валидны входные данные. Конец обработки сообщения {query.ToJson()}"); + logger.LogError("Не валидны входные данные. Конец обработки сообщения {Query}", query.ToJson()); return; } @@ -51,7 +51,7 @@ namespace PARR.TemplateUpdater.Services .FirstOrDefaultAsync(t => t.Id == query.TemplateId); if (template == null) { - logger.LogError($"Не найден шаблон с id {query.TemplateId}"); + logger.LogError("Не найден шаблон с id {TemplateId}", query.TemplateId); return; } @@ -140,7 +140,7 @@ namespace PARR.TemplateUpdater.Services var config = robotConfigurationService.GetFromTemplateByRobotCode(RobotsEnum.TemplateOrder, template); robotConfigurationService.ChangeTaskStatus(TaskStatusEnum.Updating, config); - logger.LogDebug($"Для шаблона {nameof(template.Id)}:{template.Id} устанавливаю статус {RobotStatusEnum.Wait.ToString()}"); + logger.LogDebug("Для шаблона {TemplateId} устанавливаю статус {Status}", template.Id, RobotStatusEnum.Wait.ToString()); } if (scheduleIsChanged) @@ -149,14 +149,17 @@ namespace PARR.TemplateUpdater.Services var config = robotConfigurationService.GetFromTemplateByRobotCode(RobotsEnum.ScheduleOrder, template); robotConfigurationService.ChangeTaskStatus(TaskStatusEnum.Updating, config); - logger.LogDebug($"Для расписания {nameof(template.Id)}:{template.Id} устанавливаю статус {RobotStatusEnum.Wait.ToString()}"); + logger.LogDebug("Для расписания {TemplateId} устанавливаю статус {Status}", template.Id, RobotStatusEnum.Wait.ToString()); } if (!await templateService.CommitAsync(query.Initiator)) - logger.LogError($"Не удалось сохранить изменения в БД. {nameof(TemplateUpdaterMq)}: {query.ToJson()}."); + { + logger.LogError("Не удалось сохранить изменения в БД. {QueryType}: {Query}", nameof(TemplateUpdaterMq), query.ToJson()); + return; + } - logger.LogInformation($"Выполнено изменение шаблона в БД. Отправлен запрос на синхронизацию шаблона: {templateIsChanged}, расписания: {scheduleIsChanged} .Query {query.ToJson()}"); + logger.LogInformation("Выполнено изменение шаблона в БД. Отправлен запрос на синхронизацию шаблона: {TemplateIsChanged}, расписания: {ScheduleIsChanged}. Query {Query}", templateIsChanged, scheduleIsChanged, query.ToJson()); } @@ -170,41 +173,41 @@ namespace PARR.TemplateUpdater.Services var template = await templateService.Get().AsNoTracking().AnyAsync(t => t.Id == query.TemplateId); if (!template) { - logger.LogError($"Сообщение не валидно. Не найден шаблон с id: {query.TemplateId}"); + logger.LogError("Сообщение не валидно. Не найден шаблон с id: {TemplateId}", query.TemplateId); return false; } - if (string.IsNullOrEmpty(query.Name.Trim())) + if (string.IsNullOrEmpty(query.Name?.Trim())) { - logger.LogError($"Сообщение не валидно. Имя шаблона не может быть пустым: {query.Name}"); + logger.LogError("Сообщение не валидно. Имя шаблона не может быть пустым: {TemplateName}", query.Name); return false; } - var existTemplateName = await templateService.Get().AsNoTracking().AnyAsync(t => - t.Id != query.TemplateId - && t.Name.ToUpper() == query.Name.Trim().ToUpper() + var existTemplateName = await templateService.Get().AsNoTracking().AnyAsync(t => + t.Id != query.TemplateId + && t.Name!.ToUpper() == query.Name.Trim().ToUpper() && t.Index == query.Index); if (existTemplateName) { - logger.LogError($"Сообщение не валидно. Имя шаблона не уникально: {query.Name}"); + logger.LogError("Сообщение не валидно. Имя шаблона не уникально: {TemplateName}", query.Name); return false; } var job = await jobService.Get().AsNoTracking().AnyAsync(t => t.Id == query.JobId); if (!job) { - logger.LogError($"Сообщение не валидно. Не найдена работа с JobId: {query.JobId}"); + logger.LogError("Сообщение не валидно. Не найдена работа с JobId: {JobId}", query.JobId); return false; } var unit = await unitService.Get().AsNoTracking().AnyAsync(t => t.Id == query.UnitId); if (!unit) { - logger.LogError($"Сообщение не валидно. Не найден unit с UnitId: {query.UnitId}"); + logger.LogError("Сообщение не валидно. Не найден unit с UnitId: {UnitId}", query.UnitId); return false; } return true; } } -} +} \ No newline at end of file