初步完成历史记录(未完成)

This commit is contained in:
2025-09-11 11:04:07 +08:00
parent 3c47276406
commit 5ca4fe7124
18 changed files with 471 additions and 3 deletions

View File

@@ -70,4 +70,11 @@ public interface IVariableAppService
/// <param name="variableToCheck">要检查的变量。</param>
/// <returns>如果变量已存在则返回该变量否则返回null。</returns>
Task<VariableDto?> FindExistingVariableAsync(VariableDto variableToCheck);
/// <summary>
/// 异步获取指定变量的历史记录。
/// </summary>
/// <param name="variableId">变量ID</param>
/// <returns>变量历史记录列表</returns>
Task<List<VariableHistoryDto>> GetVariableHistoriesAsync(int variableId);
}

View File

@@ -36,6 +36,11 @@ public class MqttPublishProcessor : IVariableProcessor
// 遍历所有关联的MQTT配置并将其推入发送队列
foreach (var variableMqttAliasDto in variable.MqttAliases)
{
if (!variableMqttAliasDto.MqttServer.IsActive)
{
continue;
}
// 发布变量数据到MQTT服务器
var variableMqttAlias = _mapper.Map<VariableMqttAlias>(variableMqttAliasDto);
variableMqttAlias.Variable.DataValue=variable.DataValue;

View File

@@ -285,4 +285,15 @@ public class VariableAppService : IVariableAppService
// 如果找到了匹配的变量,返回第一个(也是唯一一个)
return existingVariables.FirstOrDefault();
}
/// <summary>
/// 异步获取指定变量的历史记录。
/// </summary>
/// <param name="variableId">变量ID</param>
/// <returns>变量历史记录列表</returns>
public async Task<List<VariableHistoryDto>> GetVariableHistoriesAsync(int variableId)
{
var histories = await _repoManager.VariableHistories.GetByVariableIdAsync(variableId);
return _mapper.Map<List<VariableHistoryDto>>(histories);
}
}