97 lines
3.5 KiB
C#
Raw Normal View History

2024-08-21 16:50:14 +08:00
using Microsoft.AspNetCore.Mvc;
using System;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using VideoSurveillanceAdapter;
using Yunda.ISAS.DataMonitoringServer.DataAnalysis;
using Yunda.ISAS.DataMonitoringServer.DataAnalysis.DataCollection;
using Yunda.ISAS.DataMonitoringServer.DataAnalysis.Model;
using Yunda.ISAS.DataMonitoringServer.DataCenter;
using YunDa.ISAS.DataTransferObject;
using YunDa.ISAS.DataTransferObject.EquipmentLiveData;
using YunDa.ISAS.DataTransferObject.VideoSurveillance.VideoDevDto;
namespace Yunda.ISAS.DataMonitoringServer.WebApi.Controllers
{
[Route("isas/api/dataMonitoringService/getTeleData/[action]")]
public class GetTeleDataController
{
private readonly RunningDataCache _runningDataCache;
public GetTeleDataController()
{
_runningDataCache = WebApiServer._runningDataCache;
}
public string Index()
{
return "Hello GetTeleDataController!";
}
/// <summary>
/// 获取遥测数据
/// </summary>
/// <param name="dispatcherAddr"></param>
/// <returns></returns>
[HttpGet]
public RequestResult<TelemeteringModel> GetTelemeteringData([FromQuery] int dispatcherAddr)
{
RequestResult<TelemeteringModel> requestEasyResult = new();
try
{
if (dispatcherAddr > 0)
{
foreach (EquipmentDataModel e in _runningDataCache.EquipmentDataDic.Values)
{
TelemeteringModel telesignal = e.Telemeterings.Where(m => m.DispatcherAddress == dispatcherAddr).FirstOrDefault();
if (telesignal != null)
{
requestEasyResult.ResultData = telesignal;
requestEasyResult.Flag = true;
}
}
}
}
catch (Exception ex)
{
requestEasyResult.Message = ex.Message;
MonitoringEventBus.LogHandler(ex.Message, "异常信息");
}
return requestEasyResult;
}
/// <summary>
/// 获取遥信数据
/// </summary>
/// <param name="dispatcherAddr"></param>
/// <returns></returns>
[HttpGet]
public RequestResult<TelesignalisationModel> GetTelesignalData([FromQuery] Guid id)
{
//MonitoringEventBus.LogHandler($"请求调度地址:{dispatcherAddr}", "外部请求");
RequestResult<TelesignalisationModel> requestEasyResult = new();
try
{
if (id !=default)
{
foreach (EquipmentDataModel e in _runningDataCache.EquipmentDataDic.Values)
{
TelesignalisationModel telesignal = e.Telesignalisations.Where(m=> m.Id == id).FirstOrDefault();
if (telesignal!=null)
{
requestEasyResult.ResultData= telesignal;
requestEasyResult.Flag = true;
}
}
}
}
catch (Exception ex)
{
requestEasyResult.Message = ex.Message;
MonitoringEventBus.LogHandler(ex.Message, "异常信息");
}
return requestEasyResult;
}
}
}