重构项目,将项目拆分(临时提交)

This commit is contained in:
2025-07-18 22:21:16 +08:00
parent 2cde703f1a
commit 7ca6e4e127
189 changed files with 1090 additions and 1667 deletions

View File

@@ -0,0 +1,39 @@
using System.Threading.Tasks;
using DMS.Models;
namespace DMS.Services.Processors
{
/// <summary>
/// 负责将变量数据发布到MQTT的处理器。
/// </summary>
public class MqttPublishProcessor : IVariableProcessor
{
private readonly MqttBackgroundService _mqttBackgroundService;
public MqttPublishProcessor(MqttBackgroundService mqttBackgroundService)
{
_mqttBackgroundService = mqttBackgroundService;
}
/// <summary>
/// 处理单个变量上下文如果有关联的MQTT配置则将其推送到发送队列。
/// </summary>
/// <param name="context">包含变量及其元数据的上下文对象。</param>
public async Task ProcessAsync(VariableContext context)
{
var variable = context.Data;
if (variable?.VariableMqtts == null || variable.VariableMqtts.Count == 0)
{
return; // 没有关联的MQTT配置直接返回
}
// 遍历所有关联的MQTT配置并将其推入发送队列
foreach (var variableMqtt in variable.VariableMqtts)
{
// 确保VariableMqtt对象中包含了最新的Variable数据
variableMqtt.Variable = variable;
await _mqttBackgroundService.SendVariableAsync(variableMqtt);
}
}
}
}