using System.Threading.Tasks;
using DMS.Application.Interfaces;
using DMS.Application.Models;
using DMS.Core.Models;
namespace DMS.Application.Services.Processors;
///
/// 负责将变量数据发布到MQTT的处理器。
///
public class MqttPublishProcessor : IVariableProcessor
{
// private readonly IMqttServiceManager _mqttServiceManager;
// public MqttPublishProcessor(IMqttServiceManager mqttServiceManager)
// {
// // _mqttServiceManager = mqttServiceManager;
// }
///
/// 处理单个变量上下文,如果有关联的MQTT配置,则将其推送到发送队列。
///
/// 包含变量及其元数据的上下文对象。
public async Task ProcessAsync(VariableContext context)
{
// var variable = context.Data;
// if (variable?.MqttAliases == null || variable.MqttAliases.Count == 0)
// {
// return; // 没有关联的MQTT配置,直接返回
// }
//
// // 遍历所有关联的MQTT配置,并将其推入发送队列
// foreach (var variableMqttAlias in variable.MqttAliases)
// {
// // 创建VariableMqtt对象
// var variableMqtt = new VariableMqtt
// {
// Variable = variable,
// Mqtt = variableMqttAlias.MqttServer,
// MqttId = variableMqttAlias.MqttServerId
// };
//
// // 发布变量数据到MQTT服务器
// await _mqttServiceManager.PublishVariableDataAsync(variableMqtt);
// }
}
}