1 实现 MQTT 变量数据发布功能
2 3 - 迁移 IMqttServiceManager 接口到 DMS.Core 4 - 在 DataCenterService 中添加 MQTT 服务器和变量别名的加载逻辑 5 - 实现 MqttPublishProcessor 的核心处理逻辑 6 - 为 DTO 和 ViewModel 的 MqttAliases 属性提供默认空列表初始化 7 - 更新 AutoMapper 映射配置以支持 VariableMqttAliasDto
This commit is contained in:
@@ -1,69 +0,0 @@
|
||||
using DMS.Core.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DMS.Infrastructure.Interfaces.Services
|
||||
{
|
||||
/// <summary>
|
||||
/// MQTT服务管理器接口,负责管理MQTT连接和变量监控
|
||||
/// </summary>
|
||||
public interface IMqttServiceManager : IDisposable
|
||||
{
|
||||
/// <summary>
|
||||
/// 初始化服务管理器
|
||||
/// </summary>
|
||||
Task InitializeAsync(CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 添加MQTT服务器到监控列表
|
||||
/// </summary>
|
||||
void AddMqttServer(MqttServer mqttServer);
|
||||
|
||||
/// <summary>
|
||||
/// 移除MQTT服务器监控
|
||||
/// </summary>
|
||||
Task RemoveMqttServerAsync(int mqttServerId, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 更新MQTT服务器变量别名
|
||||
/// </summary>
|
||||
void UpdateVariableMqttAliases(int mqttServerId, List<VariableMqttAlias> variableMqttAliases);
|
||||
|
||||
/// <summary>
|
||||
/// 获取MQTT服务器连接状态
|
||||
/// </summary>
|
||||
bool IsMqttServerConnected(int mqttServerId);
|
||||
|
||||
/// <summary>
|
||||
/// 重新连接MQTT服务器
|
||||
/// </summary>
|
||||
Task ReconnectMqttServerAsync(int mqttServerId, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 获取所有监控的MQTT服务器ID
|
||||
/// </summary>
|
||||
IEnumerable<int> GetMonitoredMqttServerIds();
|
||||
|
||||
/// <summary>
|
||||
/// 连接MQTT服务器
|
||||
/// </summary>
|
||||
Task ConnectMqttServerAsync(int mqttServerId, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 断开MQTT服务器连接
|
||||
/// </summary>
|
||||
Task DisconnectMqttServerAsync(int mqttServerId, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 发布变量数据到MQTT服务器
|
||||
/// </summary>
|
||||
Task PublishVariableDataAsync(VariableMqtt variableMqtt, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 发布批量变量数据到MQTT服务器
|
||||
/// </summary>
|
||||
Task PublishVariablesDataAsync(List<VariableMqtt> variableMqtts, CancellationToken cancellationToken = default);
|
||||
}
|
||||
}
|
||||
@@ -10,6 +10,7 @@ using System.Threading.Tasks;
|
||||
using DMS.Application.DTOs.Events;
|
||||
using DMS.Core.Models;
|
||||
using DMS.Application.Interfaces;
|
||||
using DMS.Core.Interfaces.Services;
|
||||
|
||||
namespace DMS.Infrastructure.Services
|
||||
{
|
||||
|
||||
@@ -9,6 +9,7 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using DMS.Core.Models;
|
||||
using DMS.Application.Interfaces;
|
||||
using DMS.Core.Interfaces.Services;
|
||||
|
||||
namespace DMS.Infrastructure.Services
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user