feat(AIHITMainSyncer): обработка правил замены значений пришедших из АИХИТ для null

This commit is contained in:
Mikhail Trubnikov
2025-12-30 11:57:15 +10:00
parent 860d7d4840
commit aaf349cd22
6 changed files with 80 additions and 75 deletions

View File

@@ -18,7 +18,6 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\PARR.AIHITLoader\PARR.AIHITLoader.csproj" />
<ProjectReference Include="..\PARR.AIHITMainLoader\PARR.AIHITMainLoader.csproj" />
</ItemGroup>
</Project>

View File

@@ -340,13 +340,18 @@ namespace PARR.AIHITMainSyncer.Services
if (properties.ContainsKey(replacement.FieldName))
{
var currentValue = properties[replacement.FieldName];
// Это костыль, List<string?> не может хранить null, вместо null он хранит ""
var stringNull = "null";
// Проверяем, содержится ли текущее значение в списке OldValues (с учетом регистра)
if (replacement.OldValues.Contains(currentValue, StringComparer.OrdinalIgnoreCase))
if (replacement.OldValues.Contains(currentValue ?? stringNull, StringComparer.OrdinalIgnoreCase))
{
logger.LogDebug("Заменяем значение поля '{FieldName}' с '{OldValue}' на '{NewValue}'",
replacement.FieldName, currentValue, replacement.NewValue);
properties[replacement.FieldName] = replacement.NewValue;
}
}
}
}

View File

@@ -1,4 +1,12 @@
{
"Logging": {
"LogLevel": {
"Default": "Debug",
"Microsoft.EntityFrameworkCore": "Debug",
"Microsoft.EntityFrameworkCore.Database.Command": "Warning",
"Microsoft.AspNetCore": "Warning"
}
},
"Serilog": {
"MinimumLevel": {
"Default": "Debug",

View File

@@ -52,6 +52,11 @@
"FieldName": "НЕУНИКАЛЬНЫЙ_ЭК",
"OldValues": [ "f" ],
"NewValue": "0"
},
{
"FieldName": "НЕУНИКАЛЬНЫЙ_ЭК",
"OldValues": [ "null" ],
"NewValue": "пусто"
}
]
}

View File

@@ -56,12 +56,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PARR.EsppScheduleSync", "PA
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PARR.EsppScheduleSyncWorker", "PARR.EsppScheduleSyncWorker\PARR.EsppScheduleSyncWorker.csproj", "{C597A1D7-1BC5-493B-BC29-03EC830FB090}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PARR.AIHITLoader", "PARR.AIHITLoader\PARR.AIHITLoader.csproj", "{E7F3C8FB-445B-4711-8F89-0B7DA7DB4537}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PARR.AIHITLoaderWorker", "PARR.AIHITLoaderWorker\PARR.AIHITLoaderWorker.csproj", "{E9434123-E697-42E2-B7C0-FE08766B98D1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PARR.AIHITSyncer", "PARR.AIHITSyncer\PARR.AIHITSyncer.csproj", "{4177B13B-585C-44C7-B3C1-6B6E46D6BABC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PARR.AIHITSyncerWorker", "PARR.AIHITSyncerWorker\PARR.AIHITSyncerWorker.csproj", "{4FA79176-F833-4879-8437-37EA053BAA94}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PARR.NextRun", "PARR.NextRun\PARR.NextRun.csproj", "{92400205-B781-4C6C-BDA3-6D3652C2B62F}"
@@ -200,18 +196,10 @@ Global
{C597A1D7-1BC5-493B-BC29-03EC830FB090}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C597A1D7-1BC5-493B-BC29-03EC830FB090}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C597A1D7-1BC5-493B-BC29-03EC830FB090}.Release|Any CPU.Build.0 = Release|Any CPU
{E7F3C8FB-445B-4711-8F89-0B7DA7DB4537}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E7F3C8FB-445B-4711-8F89-0B7DA7DB4537}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E7F3C8FB-445B-4711-8F89-0B7DA7DB4537}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E7F3C8FB-445B-4711-8F89-0B7DA7DB4537}.Release|Any CPU.Build.0 = Release|Any CPU
{E9434123-E697-42E2-B7C0-FE08766B98D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E9434123-E697-42E2-B7C0-FE08766B98D1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E9434123-E697-42E2-B7C0-FE08766B98D1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E9434123-E697-42E2-B7C0-FE08766B98D1}.Release|Any CPU.Build.0 = Release|Any CPU
{4177B13B-585C-44C7-B3C1-6B6E46D6BABC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4177B13B-585C-44C7-B3C1-6B6E46D6BABC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4177B13B-585C-44C7-B3C1-6B6E46D6BABC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4177B13B-585C-44C7-B3C1-6B6E46D6BABC}.Release|Any CPU.Build.0 = Release|Any CPU
{4FA79176-F833-4879-8437-37EA053BAA94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4FA79176-F833-4879-8437-37EA053BAA94}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4FA79176-F833-4879-8437-37EA053BAA94}.Release|Any CPU.ActiveCfg = Release|Any CPU

View File

@@ -25,7 +25,7 @@ namespace PARR.BLL.Services.Implementations
public async Task<bool> InitConsumerAsync(IMqSettings mqSettings, MqMessageHandlerDelegate messageHandler)
{
logger.LogInformation($"Устанавливаю соединение с RabbitMQ: {mqSettings.HostName}, {mqSettings.QueueName}");
logger.LogInformation("Устанавливаю соединение с RabbitMQ. HostName: {HostName}, QueueName: {QueueName}", mqSettings.HostName, mqSettings.QueueName);
var factory = new ConnectionFactory
{
@@ -77,7 +77,7 @@ namespace PARR.BLL.Services.Implementations
{
//var content = Encoding.UTF8.GetString(ea.Body.ToArray());
var content = Encoding.UTF8.GetString(ea.Body.Span);
logger.LogDebug($"Получено сообщение: {content}");
logger.LogDebug("Получено сообщение: {content}", content);
try
{