разделитель Парсера строк из ЕСПП вынесен в настройки

This commit is contained in:
Mikhail Kuznetsov
2023-09-20 17:07:17 +10:00
parent a3a486242c
commit ec057fb27d
5 changed files with 51 additions and 12 deletions

View File

@@ -2,6 +2,7 @@
using PARR.DAL.Contracts; using PARR.DAL.Contracts;
using PARR.DAL.Models; using PARR.DAL.Models;
using PARR.DAL.Services.Interfaces; using PARR.DAL.Services.Interfaces;
using PARR.EsppTemplateSync.Settings;
using System.Globalization; using System.Globalization;
namespace PARR.EsppTemplateSync.Services namespace PARR.EsppTemplateSync.Services
@@ -9,10 +10,15 @@ namespace PARR.EsppTemplateSync.Services
internal class ParserService : IParserService internal class ParserService : IParserService
{ {
private readonly ILogger<ParserService> logger; private readonly ILogger<ParserService> logger;
private readonly GlobalSettings globalSettings;
public ParserService(ILogger<ParserService> logger) public ParserService(
ILogger<ParserService> logger,
GlobalSettings globalSettings
)
{ {
this.logger = logger; this.logger = logger;
this.globalSettings = globalSettings;
} }
public async Task<bool> ParseFileAsync(string path) public async Task<bool> ParseFileAsync(string path)
{ {
@@ -29,7 +35,7 @@ namespace PARR.EsppTemplateSync.Services
//TODO: а если формат нет тот? Все будет ок? //TODO: а если формат нет тот? Все будет ок?
//TODO: //TODO:
var splittedContent = str.Split("<|>"); var splittedContent = str.Split(globalSettings.ParsingSeparator);
if (splittedContent.Length != 17) if (splittedContent.Length != 17)
{ {
return null; return null;

View File

@@ -6,6 +6,7 @@
public StorageSettings? StorageSettings { get; set; } public StorageSettings? StorageSettings { get; set; }
public List<string>? IgnoreTemplateFields { get; set; } public List<string>? IgnoreTemplateFields { get; set; }
public string ParsingSeparator { get; set; } = "<|>";
} }
internal class MqSettings internal class MqSettings

View File

@@ -1,19 +1,50 @@
{ {
"ConnectionStrings": {
"DefaultConnection": "Server=10.99.253.184;Database=parr;User Id=app_parr; Password=PosdfkhT&)%sdfligL&%5546;"
},
"Logging": { "Logging": {
"LogLevel": { "LogLevel": {
"Default": "Information", "Default": "Information",
"Microsoft.Hosting.Lifetime": "Information" "Microsoft.Hosting.Lifetime": "Information"
} }
}, },
"Serilog": {
"MinimumLevel": {
"Default": "Debug",
"Override": {
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Debug"
}
},
"WriteTo": [
{
"Name": "File",
"Args": {
"path": "log/log-.txt",
"rollingInterval": "Day"
}
}
]
},
"StorageSettings": { "StorageSettings": {
"StoragePath": "W:\\" "StoragePath": "Data",
"EsppTemplates": {
"AllowedExtensions": [ ".csv" ],
"MaxFileSizeMb": 100
}
}, },
"GlobalSettings": { "GlobalSettings": {
"MqSettings": { "MqSettings": {
"HostName": "10.99.253.216",
"QueueName": "parr-espp-templates",
"UserName": "espp_templates_reader",
"Password": "P@ssReaderPtk202!"
}, },
"StorageSettings": { "StorageSettings": {
"CheckIntervalSeconds": 5 "CheckIntervalSeconds": 30
} },
"IgnoreTemplateFields": [ "Id", "Status", "DateCreated", "DateModified", "StatusCode" ],
"ParsingSeparator": "<|>"
} }
} }

View File

@@ -44,6 +44,7 @@
"StorageSettings": { "StorageSettings": {
"CheckIntervalSeconds": 30 "CheckIntervalSeconds": 30
}, },
"IgnoreTemplateFields": [ "Id","Status","DateCreated","DateModified","StatusCode" ] "IgnoreTemplateFields": [ "Id", "Status", "DateCreated", "DateModified", "StatusCode" ],
"ParsingSeparator": "<|>"
} }
} }

View File

@@ -71,15 +71,15 @@ namespace PARR.MockData.Services
logger.LogInformation($"----- Создан subprocess: {subprocess.Name} -----"); logger.LogInformation($"----- Создан subprocess: {subprocess.Name} -----");
} }
var tnk = await tnkService.Get().FirstOrDefaultAsync(p => p.EsppId == 292454); var tnk = await tnkService.Get().FirstOrDefaultAsync(p => p.EsppId == 292917);
if (tnk == null) if (tnk == null)
{ {
tnk = new Tnk tnk = new Tnk
{ {
Id = Guid.NewGuid(), Id = Guid.NewGuid(),
DateCreated = DateTimeOffset.UtcNow, DateCreated = DateTimeOffset.UtcNow,
Name = ПО Анализ прикладных журналов серверов приложений (О3.2.2.4)", Name = рочее(работы)",
EsppId = 292454, EsppId = 292917,
SubprocessId = subprocess.Id SubprocessId = subprocess.Id
}; };
if (!await tnkService.CreateAsync(tnk) || !await tnkService.CommitAsync()) if (!await tnkService.CreateAsync(tnk) || !await tnkService.CommitAsync())
@@ -91,15 +91,15 @@ namespace PARR.MockData.Services
logger.LogInformation($"----- Создан tnk: {tnk.Name} -----"); logger.LogInformation($"----- Создан tnk: {tnk.Name} -----");
} }
var work = await workService.Get().FirstOrDefaultAsync(p => p.EsppId == 292454); var work = await workService.Get().FirstOrDefaultAsync(p => p.EsppId == 292917);
if (work == null) if (work == null)
{ {
work = new Work work = new Work
{ {
Id = Guid.NewGuid(), Id = Guid.NewGuid(),
DateCreated = DateTimeOffset.UtcNow, DateCreated = DateTimeOffset.UtcNow,
Name = ПО Анализ прикладных журналов серверов приложений (О3.2.2.4)", Name = рочее(работы)",
EsppId = 292454, EsppId = 292917,
TnkId = tnk.Id TnkId = tnk.Id
}; };
if (!await workService.CreateAsync(work) || !await workService.CommitAsync()) if (!await workService.CreateAsync(work) || !await workService.CommitAsync())