refactor:完成重构设备的添加,删除,更新。

This commit is contained in:
2025-10-22 14:06:16 +08:00
parent e995ec7207
commit 54d040b45f
76 changed files with 1028 additions and 1161 deletions

View File

@@ -17,7 +17,7 @@ namespace DMS.Infrastructure.Services.Mqtt
private readonly ILogger<MqttBackgroundService> _logger;
private readonly IMqttServiceManager _mqttServiceManager;
private readonly IEventService _eventService;
private readonly IAppStorageService _appStorageService;
private readonly IAppDataService _appDataService;
private readonly IAppCenterService _appCenterService;
private readonly ConcurrentDictionary<int, MqttServer> _mqttServers;
private readonly SemaphoreSlim _reloadSemaphore = new(0);
@@ -26,13 +26,13 @@ namespace DMS.Infrastructure.Services.Mqtt
ILogger<MqttBackgroundService> logger,
IMqttServiceManager mqttServiceManager,
IEventService eventService,
IAppStorageService appStorageService,
IAppDataService appStorageService,
IAppCenterService appCenterService)
{
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
_mqttServiceManager = mqttServiceManager ?? throw new ArgumentNullException(nameof(mqttServiceManager));
_eventService = eventService;
_appStorageService = appStorageService;
_appDataService = appStorageService;
_appCenterService = appCenterService ?? throw new ArgumentNullException(nameof(appCenterService));
_mqttServers = new ConcurrentDictionary<int, MqttServer>();
@@ -186,7 +186,7 @@ namespace DMS.Infrastructure.Services.Mqtt
_mqttServers.Clear();
// 从数据服务中心获取所有激活的MQTT服务器
var mqttServers = _appStorageService.MqttServers.Values.ToList();
var mqttServers = _appDataService.MqttServers.Values.ToList();
foreach (var mqttServer in mqttServers)
{

View File

@@ -15,7 +15,7 @@ namespace DMS.Infrastructure.Services.OpcUa
public class OptimizedOpcUaBackgroundService : BackgroundService
{
private readonly IAppCenterService _appCenterService;
private readonly IAppStorageService _appStorageService;
private readonly IAppDataService _appDataService;
private readonly IEventService _eventService;
private readonly IOpcUaServiceManager _opcUaServiceManager;
private readonly ILogger<OptimizedOpcUaBackgroundService> _logger;
@@ -23,13 +23,13 @@ namespace DMS.Infrastructure.Services.OpcUa
public OptimizedOpcUaBackgroundService(
IAppCenterService appCenterService,
IAppStorageService appStorageService,
IAppDataService appStorageService,
IEventService eventService,
IOpcUaServiceManager opcUaServiceManager,
ILogger<OptimizedOpcUaBackgroundService> logger)
{
_appCenterService = appCenterService ?? throw new ArgumentNullException(nameof(appCenterService));
_appStorageService = appStorageService;
_appDataService = appStorageService;
_opcUaServiceManager = opcUaServiceManager ?? throw new ArgumentNullException(nameof(opcUaServiceManager));
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
_eventService = eventService;
@@ -60,7 +60,7 @@ namespace DMS.Infrastructure.Services.OpcUa
if (stoppingToken.IsCancellationRequested)
break;
if (_appStorageService.Devices.IsEmpty)
if (_appDataService.Devices.IsEmpty)
{
_logger.LogInformation("没有可用的OPC UA设备等待设备列表更新...");
continue;
@@ -96,7 +96,7 @@ namespace DMS.Infrastructure.Services.OpcUa
try
{
// 获取所有活动的OPC UA设备
var opcUaDevices = _appStorageService.Devices.Values
var opcUaDevices = _appDataService.Devices.Values
.Where(d => d.Protocol == ProtocolType.OpcUa )
.ToList();

View File

@@ -20,7 +20,7 @@ namespace DMS.Infrastructure.Services.S7;
public class OptimizedS7BackgroundService : BackgroundService
{
private readonly IAppCenterService _appCenterService;
private readonly IAppStorageService _appStorageService;
private readonly IAppDataService _appDataService;
private readonly IEventService _eventService;
private readonly IDataProcessingService _dataProcessingService;
private readonly IS7ServiceManager _s7ServiceManager;
@@ -39,14 +39,14 @@ public class OptimizedS7BackgroundService : BackgroundService
/// </summary>
public OptimizedS7BackgroundService(
IAppCenterService appCenterService,
IAppStorageService appStorageService,
IAppDataService appStorageService,
IEventService eventService,
IDataProcessingService dataProcessingService,
IS7ServiceManager s7ServiceManager,
ILogger<OptimizedS7BackgroundService> logger)
{
_appCenterService = appCenterService;
_appStorageService = appStorageService;
_appDataService = appStorageService;
_eventService = eventService;
_dataProcessingService = dataProcessingService;
_s7ServiceManager = s7ServiceManager;
@@ -76,7 +76,7 @@ public class OptimizedS7BackgroundService : BackgroundService
break;
}
if (_appStorageService.Devices.IsEmpty)
if (_appDataService.Devices.IsEmpty)
{
_logger.LogInformation("没有可用的S7设备等待设备列表更新...");
continue;
@@ -124,7 +124,7 @@ public class OptimizedS7BackgroundService : BackgroundService
_variablesByPollingInterval.Clear();
_logger.LogInformation("开始加载S7变量....");
var s7Devices = _appStorageService
var s7Devices = _appDataService
.Devices.Values.Where(d => d.Protocol == ProtocolType.S7 && d.IsActive == true)
.ToList();
@@ -161,7 +161,7 @@ public class OptimizedS7BackgroundService : BackgroundService
/// </summary>
private async Task ConnectS7ServiceAsync(CancellationToken stoppingToken)
{
var s7Devices = _appStorageService
var s7Devices = _appDataService
.Devices.Values.Where(d => d.Protocol == ProtocolType.S7 && d.IsActive == true)
.ToList();
@@ -207,7 +207,7 @@ public class OptimizedS7BackgroundService : BackgroundService
private async Task PollVariablesForDeviceAsync(S7DeviceContext context, List<Variable> variables,
CancellationToken stoppingToken)
{
if (!_appStorageService.Devices.TryGetValue(context.Device.Id, out var device))
if (!_appDataService.Devices.TryGetValue(context.Device.Id, out var device))
{
_logger.LogWarning($"轮询时没有找到设备ID{context.Device.Id}");
return;

View File

@@ -20,7 +20,7 @@ namespace DMS.Infrastructure.Services.S7
private readonly IEventService _eventService;
private readonly IDataProcessingService _dataProcessingService;
private readonly IAppCenterService _appCenterService;
private readonly IAppStorageService _appStorageService;
private readonly IAppDataService _appDataService;
private readonly IS7ServiceFactory _s7ServiceFactory;
private readonly ConcurrentDictionary<int, S7DeviceContext> _deviceContexts;
private readonly SemaphoreSlim _semaphore;
@@ -31,7 +31,7 @@ namespace DMS.Infrastructure.Services.S7
IEventService eventService,
IDataProcessingService dataProcessingService,
IAppCenterService appCenterService,
IAppStorageService appStorageService,
IAppDataService appStorageService,
IS7ServiceFactory s7ServiceFactory)
{
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
@@ -40,7 +40,7 @@ namespace DMS.Infrastructure.Services.S7
= dataProcessingService ?? throw new ArgumentNullException(nameof(dataProcessingService));
_appCenterService
= appCenterService ?? throw new ArgumentNullException(nameof(appCenterService));
_appStorageService = appStorageService;
_appDataService = appStorageService;
_s7ServiceFactory = s7ServiceFactory ?? throw new ArgumentNullException(nameof(s7ServiceFactory));
_deviceContexts = new ConcurrentDictionary<int, S7DeviceContext>();
_semaphore = new SemaphoreSlim(10, 10); // 默认最大并发连接数为10
@@ -54,7 +54,7 @@ namespace DMS.Infrastructure.Services.S7
// if (_deviceContexts.TryGetValue(e.DeviceId, out var s7DeviceContext))
// {
// var variables = _appStorageService.Variables.Values.Where(v => e.VariableIds.Contains(v.Id))
// var variables = _appDataService.Variables.Values.Where(v => e.VariableIds.Contains(v.Id))
// .ToList();
// foreach (var variable in variables)
// {