refactor: 移除 VariableMqttAliasDto 并替换为 VariableMqttAlias
本次重构移除了 VariableMqttAliasDto,并将其所有用法替换为 VariableMqttAlias 模型。 主要变更: - 在 DTO、服务和接口中将 VariableMqttAliasDto 替换为 VariableMqttAlias。 - 删除了 VariableMqttAliasDto 的 AutoMapper 映射。 - 删除了 VariableMqttAliasDto.cs 文件。
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using DMS.Core.Models;
|
||||
|
||||
namespace DMS.Application.DTOs;
|
||||
|
||||
@@ -26,5 +27,5 @@ public class MqttServerDto
|
||||
public string MessageHeader { get; set; }
|
||||
public string MessageContent { get; set; }
|
||||
public string MessageFooter { get; set; }
|
||||
public List<VariableMqttAliasDto> VariableAliases { get; set; } = new();
|
||||
public List<VariableMqttAlias> VariableAliases { get; set; } = new();
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
using DMS.Core.Enums;
|
||||
using DMS.Core.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace DMS.Application.DTOs;
|
||||
|
||||
@@ -15,7 +17,7 @@ public class VariableDto
|
||||
public double NumericValue { get; set; }
|
||||
public string DisplayValue { get; set; }
|
||||
public VariableTableDto? VariableTable { get; set; }
|
||||
public List<VariableMqttAliasDto>? MqttAliases { get; set; } = new List<VariableMqttAliasDto>();
|
||||
public List<VariableMqttAlias>? MqttAliases { get; set; } = new List<VariableMqttAlias>();
|
||||
public SignalType SignalType { get; set; }
|
||||
public int PollingInterval { get; set; }
|
||||
public bool IsActive { get; set; }
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
using DMS.Core.Models;
|
||||
|
||||
namespace DMS.Application.DTOs;
|
||||
|
||||
/// <summary>
|
||||
/// 用于在UI上显示和管理变量与MQTT服务器关联别名的DTO。
|
||||
/// </summary>
|
||||
public class VariableMqttAliasDto
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public int VariableId { get; set; }
|
||||
public int MqttServerId { get; set; }
|
||||
public string MqttServerName { get; set; } // 用于UI显示关联的服务器名称
|
||||
public string Alias { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 关联的变量对象。
|
||||
/// </summary>
|
||||
public Variable Variable { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 关联的MQTT服务器对象。
|
||||
/// </summary>
|
||||
public MqttServer MqttServer { get; set; }
|
||||
}
|
||||
@@ -1,4 +1,6 @@
|
||||
using DMS.Application.DTOs;
|
||||
using DMS.Core.Models;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DMS.Application.Interfaces.Database;
|
||||
|
||||
@@ -10,7 +12,7 @@ public interface IMqttAliasAppService
|
||||
/// <summary>
|
||||
/// 异步获取指定变量的所有MQTT别名关联。
|
||||
/// </summary>
|
||||
Task<List<VariableMqttAliasDto>> GetAliasesForVariableAsync(int variableId);
|
||||
Task<List<VariableMqttAlias>> GetAliasesForVariableAsync(int variableId);
|
||||
|
||||
/// <summary>
|
||||
/// 异步为变量分配或更新一个MQTT别名。
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.Collections.Concurrent;
|
||||
using DMS.Application.DTOs;
|
||||
using DMS.Core.Models;
|
||||
|
||||
namespace DMS.Application.Interfaces;
|
||||
|
||||
@@ -43,7 +44,7 @@ public interface IAppDataStorageService
|
||||
/// <summary>
|
||||
/// 安全字典,用于存储所有MQTT变量别名的数据
|
||||
/// </summary>
|
||||
ConcurrentDictionary<int, VariableMqttAliasDto> VariableMqttAliases { get; }
|
||||
ConcurrentDictionary<int, VariableMqttAlias> VariableMqttAliases { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 安全字典,用于存储所有触发器定义数据
|
||||
|
||||
@@ -31,11 +31,6 @@ public class MappingProfile : Profile
|
||||
CreateMap<MqttServer, MqttServerDto>().ReverseMap();
|
||||
CreateMap<MqttServerDto, MqttServerDto>().ReverseMap();
|
||||
|
||||
// VariableMqttAlias 映射
|
||||
CreateMap<VariableMqttAlias, VariableMqttAliasDto>()
|
||||
.ForMember(dest => dest.MqttServerName, opt => opt.MapFrom(src => src.MqttServer.ServerName))
|
||||
.ReverseMap();
|
||||
|
||||
// VariableHistory 映射
|
||||
CreateMap<VariableHistory, VariableHistoryDto>()
|
||||
.ForMember(dest => dest.VariableName, opt => opt.MapFrom(src => src.Variable.Name))
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System.Collections.Concurrent;
|
||||
using DMS.Application.DTOs;
|
||||
using DMS.Application.Interfaces;
|
||||
using DMS.Core.Models;
|
||||
|
||||
namespace DMS.Application.Services;
|
||||
|
||||
@@ -40,7 +41,7 @@ public class AppDataStorageService : IAppDataStorageService
|
||||
/// <summary>
|
||||
/// 安全字典,用于存储所有MQTT变量别名的数据
|
||||
/// </summary>
|
||||
public ConcurrentDictionary<int, VariableMqttAliasDto> VariableMqttAliases { get; } = new();
|
||||
public ConcurrentDictionary<int, VariableMqttAlias> VariableMqttAliases { get; } = new();
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -107,24 +107,20 @@ public class DataLoaderService : IDataLoaderService
|
||||
{
|
||||
|
||||
var variableMqttAliases = await _repositoryManager.VariableMqttAliases.GetAllAsync();
|
||||
var variableMqttAliasDtos = _mapper.Map<IEnumerable<VariableMqttAliasDto>>(variableMqttAliases);
|
||||
foreach (var variableMqttAliasDto in variableMqttAliasDtos)
|
||||
foreach (var variableMqttAlias in variableMqttAliases)
|
||||
{
|
||||
_appDataStorageService.VariableMqttAliases.TryAdd(variableMqttAliasDto.Id, variableMqttAliasDto);
|
||||
if (_appDataStorageService.Variables.TryGetValue(variableMqttAliasDto.VariableId, out var variable))
|
||||
_appDataStorageService.VariableMqttAliases.TryAdd(variableMqttAlias.Id, variableMqttAlias);
|
||||
if (_appDataStorageService.Variables.TryGetValue(variableMqttAlias.VariableId, out var variable))
|
||||
{
|
||||
variableMqttAliasDto.Variable = _mapper.Map<Variable>(variable);
|
||||
variable.MqttAliases?.Add(variableMqttAliasDto);
|
||||
variableMqttAlias.Variable = _mapper.Map<Variable>(variable);
|
||||
variable.MqttAliases?.Add(variableMqttAlias);
|
||||
}
|
||||
|
||||
if (_appDataStorageService.MqttServers.TryGetValue(variableMqttAliasDto.MqttServerId, out var mqttServer))
|
||||
if (_appDataStorageService.MqttServers.TryGetValue(variableMqttAlias.MqttServerId, out var mqttServer))
|
||||
{
|
||||
variableMqttAliasDto.MqttServer = _mapper.Map<MqttServer>(mqttServer);
|
||||
variableMqttAliasDto.MqttServerName = variableMqttAliasDto.MqttServer.ServerName;
|
||||
mqttServer.VariableAliases?.Add(variableMqttAliasDto);
|
||||
variableMqttAlias.MqttServer = _mapper.Map<MqttServer>(mqttServer);
|
||||
mqttServer.VariableAliases?.Add(variableMqttAlias);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
using AutoMapper;
|
||||
using DMS.Application.DTOs;
|
||||
using DMS.Application.Interfaces;
|
||||
using DMS.Application.Interfaces.Database;
|
||||
using DMS.Core.Interfaces;
|
||||
using DMS.Core.Models;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DMS.Application.Services.Database;
|
||||
|
||||
@@ -26,11 +29,11 @@ public class MqttAliasAppService : IMqttAliasAppService
|
||||
/// <summary>
|
||||
/// 异步获取指定变量的所有MQTT别名关联。
|
||||
/// </summary>
|
||||
public async Task<List<VariableMqttAliasDto>> GetAliasesForVariableAsync(int variableId)
|
||||
public async Task<List<VariableMqttAlias>> GetAliasesForVariableAsync(int variableId)
|
||||
{
|
||||
// 从仓储获取别名,并确保加载了关联的MqttServer信息
|
||||
var aliases = await _repoManager.VariableMqttAliases.GetAliasesForVariableAsync(variableId);
|
||||
return _mapper.Map<List<VariableMqttAliasDto>>(aliases);
|
||||
return aliases.ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -34,15 +34,14 @@ public class MqttPublishProcessor : IVariableProcessor
|
||||
}
|
||||
|
||||
// 遍历所有关联的MQTT配置,并将其推入发送队列
|
||||
foreach (var variableMqttAliasDto in variable.MqttAliases)
|
||||
foreach (var variableMqttAlias in variable.MqttAliases)
|
||||
{
|
||||
if (!variableMqttAliasDto.MqttServer.IsActive)
|
||||
if (!variableMqttAlias.MqttServer.IsActive)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// 发布变量数据到MQTT服务器
|
||||
var variableMqttAlias = _mapper.Map<VariableMqttAlias>(variableMqttAliasDto);
|
||||
variableMqttAlias.Variable.DisplayValue=variable.DisplayValue;
|
||||
await _mqttServiceManager.PublishVariableDataAsync(variableMqttAlias);
|
||||
}
|
||||
|
||||
@@ -17,7 +17,6 @@ namespace DMS.WPF.Profiles
|
||||
CreateMap<OpcUaNode, OpcUaNodeItemViewModel>()
|
||||
.ReverseMap();
|
||||
CreateMap<VariableItemViewModel, VariableItemViewModel>();
|
||||
CreateMap<VariableMqttAliasDto, VariableMqttAliasItemViewModel>().ReverseMap();
|
||||
CreateMap<VariableMqttAlias, VariableMqttAliasItemViewModel>().ReverseMap();
|
||||
|
||||
|
||||
@@ -32,7 +31,6 @@ namespace DMS.WPF.Profiles
|
||||
CreateMap<VariableHistoryDto, VariableHistoryItemViewModel>().ReverseMap();
|
||||
CreateMap<VariableDto, VariableItemViewModel>()
|
||||
.ReverseMap();
|
||||
CreateMap<VariableMqttAliasDto, VariableMqttAliasItemViewModel>().ReverseMap();
|
||||
CreateMap<VariableTableDto, VariableTableItemViewModel>().ReverseMap();
|
||||
CreateMap<NlogDto, NlogItemViewModel>().ReverseMap();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user