初步完成AppDataCenterService的重构

This commit is contained in:
2025-09-09 15:28:07 +08:00
parent 94ef1dec84
commit 1dad2a0d2f
35 changed files with 704 additions and 1891 deletions

View File

@@ -21,6 +21,7 @@ namespace DMS.Infrastructure.Services;
public class OptimizedS7BackgroundService : BackgroundService
{
private readonly IAppDataCenterService _appDataCenterService;
private readonly IAppDataStorageService _appDataStorageService;
private readonly IDataProcessingService _dataProcessingService;
private readonly IS7ServiceManager _s7ServiceManager;
private readonly ILogger<OptimizedS7BackgroundService> _logger;
@@ -55,16 +56,18 @@ public class OptimizedS7BackgroundService : BackgroundService
/// </summary>
public OptimizedS7BackgroundService(
IAppDataCenterService appDataCenterService,
IAppDataStorageService appDataStorageService,
IDataProcessingService dataProcessingService,
IS7ServiceManager s7ServiceManager,
ILogger<OptimizedS7BackgroundService> logger)
{
_appDataCenterService = appDataCenterService;
_appDataStorageService = appDataStorageService;
_dataProcessingService = dataProcessingService;
_s7ServiceManager = s7ServiceManager;
_logger = logger;
_appDataCenterService.OnLoadDataCompleted += OnLoadDataCompleted;
_appDataCenterService.DataLoaderService.OnLoadDataCompleted += OnLoadDataCompleted;
}
private void OnLoadDataCompleted(object? sender, DataLoadCompletedEventArgs e)
@@ -86,7 +89,7 @@ public class OptimizedS7BackgroundService : BackgroundService
break;
}
if (_appDataCenterService.Devices.IsEmpty)
if (_appDataStorageService.Devices.IsEmpty)
{
_logger.LogInformation("没有可用的S7设备等待设备列表更新...");
continue;
@@ -134,9 +137,9 @@ public class OptimizedS7BackgroundService : BackgroundService
_variablesByPollingInterval.Clear();
_logger.LogInformation("开始加载S7变量....");
var s7Devices = _appDataCenterService
.Devices.Values.Where(d => d.Protocol == ProtocolType.S7 && d.IsActive == true)
.ToList();
var s7Devices = _appDataStorageService
.Devices.Values.Where(d => d.Protocol == ProtocolType.S7 && d.IsActive == true)
.ToList();
foreach (var s7Device in s7Devices)
{
@@ -173,9 +176,9 @@ public class OptimizedS7BackgroundService : BackgroundService
private async Task ConnectS7ServiceAsync(CancellationToken stoppingToken)
{
var s7Devices = _appDataCenterService
.Devices.Values.Where(d => d.Protocol == ProtocolType.S7 && d.IsActive == true)
.ToList();
var s7Devices = _appDataStorageService
.Devices.Values.Where(d => d.Protocol == ProtocolType.S7 && d.IsActive == true)
.ToList();
var deviceIds = s7Devices.Select(d => d.Id).ToList();
await _s7ServiceManager.ConnectDevicesAsync(deviceIds, stoppingToken);
@@ -237,7 +240,7 @@ public class OptimizedS7BackgroundService : BackgroundService
/// </summary>
private async Task PollVariablesForDeviceAsync(int deviceId, List<VariableDto> variables, CancellationToken stoppingToken)
{
if (!_appDataCenterService.Devices.TryGetValue(deviceId, out var device))
if (!_appDataStorageService.Devices.TryGetValue(deviceId, out var device))
{
_logger.LogWarning($"轮询时没有找到设备ID{deviceId}");
return;