完成MQTT服务器的别名设置

This commit is contained in:
2025-09-06 19:41:28 +08:00
parent 5db88f5709
commit 6f0e80e1e2
9 changed files with 83 additions and 10 deletions

View File

@@ -1,3 +1,5 @@
using DMS.Core.Models;
namespace DMS.Application.DTOs;
/// <summary>
@@ -10,4 +12,14 @@ public class VariableMqttAliasDto
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; }
}

View File

@@ -36,7 +36,7 @@ public class MappingProfile : Profile
// VariableMqttAlias 映射
CreateMap<VariableMqttAlias, VariableMqttAliasDto>()
.ForMember(dest => dest.MqttServerName, opt => opt.Ignore())
.ForMember(dest => dest.MqttServerName, opt => opt.MapFrom(src => src.MqttServer.ServerName))
.ReverseMap();
// VariableHistory 映射

View File

@@ -57,11 +57,17 @@ public class MqttAliasAppService : IMqttAliasAppService
else
{
// 如果不存在,则创建新的关联
// 获取关联的Variable和MqttServer实体
var variable = await _repoManager.Variables.GetByIdAsync(variableId);
var mqttServer = await _repoManager.MqttServers.GetByIdAsync(mqttServerId);
var newAlias = new VariableMqttAlias
{
VariableId = variableId,
MqttServerId = mqttServerId,
Alias = alias
Alias = alias,
Variable = variable,
MqttServer = mqttServer
};
await _repoManager.VariableMqttAliases.AddAsync(newAlias);
}