bugfix:修复Mqtt服务器详情页变量值不更新的问题,修复修改Mqtt别名后台不更新的问题,重新调整了别名的架构

This commit is contained in:
2025-10-11 18:07:01 +08:00
parent 6daca3eaf6
commit 2ada4246ff
30 changed files with 527 additions and 275 deletions

View File

@@ -9,29 +9,25 @@ namespace DMS.Application.Interfaces.Database;
/// </summary>
public interface IMqttAliasAppService
{
/// <summary>
/// 异步获取指定变量的所有MQTT别名关联。
/// </summary>
Task<List<MqttAlias>> GetAliasesForVariableAsync(int variableId);
/// <summary>
/// 异步为变量分配或更新一个MQTT别名。
/// </summary>
/// <param name="variableId">变量ID。</param>
/// <param name="mqttServerId">MQTT服务器ID。</param>
/// <param name="alias">要设置的别名。</param>
Task AssignAliasAsync(int variableId, int mqttServerId, string alias);
/// <param name="mqttAlias"></param>
Task<MqttAlias> AssignAliasAsync(MqttAlias mqttAlias);
/// <summary>
/// 异步更新一个已存在的MQTT别名。
/// </summary>
/// <param name="aliasId">别名关联的ID。</param>
/// <param name="newAlias">新的别名字符串。</param>
Task UpdateAliasAsync(int aliasId, string newAlias);
Task<int> UpdateAliasAsync(MqttAlias mqttAlias);
/// <summary>
/// 异步移除一个MQTT别名关联。
/// </summary>
/// <param name="aliasId">要移除的别名关联的ID。</param>
Task RemoveAliasAsync(int aliasId);
Task<int> RemoveAliasAsync(int aliasId);
Task<List<MqttAlias>> GetAllAsync();
}

View File

@@ -43,7 +43,7 @@ public interface IAppDataStorageService
/// <summary>
/// 安全字典用于存储所有MQTT变量别名的数据
/// </summary>
ConcurrentDictionary<int, MqttAlias> VariableMqttAliases { get; }
ConcurrentDictionary<int, MqttAlias> MqttAliases { get; }
/// <summary>
/// 安全字典,用于存储所有触发器定义数据

View File

@@ -68,6 +68,18 @@ public interface IEventService
/// <param name="e">MQTT服务器改变事件参数</param>
void RaiseMqttServerChanged(object sender, MqttServerChangedEventArgs e);
/// <summary>
/// Mqtt别名改变事件
/// </summary>
event EventHandler<MqttAliasChangedEventArgs> OnMqttAliasChanged;
/// <summary>
/// 触发Mqtt别名改变事件
/// </summary>
/// <param name="sender">事件发送者</param>
/// <param name="e">Mqtt别名改变事件参数</param>
void RaiseMqttAliasChanged(object sender, MqttAliasChangedEventArgs e);
#endregion

View File

@@ -0,0 +1,11 @@
using DMS.Core.Models;
namespace DMS.Application.Interfaces.Management;
public interface IMqttAliasManagementService
{
Task<MqttAlias> AssignAliasAsync(MqttAlias alias);
Task<int> UpdateAsync(MqttAlias alias);
Task<bool> DeleteAsync(int id);
Task<List<MqttAlias>> LoadAllMqttAliasAsync();
}