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!";
}
///
/// 获取遥测数据
///
///
///
[HttpGet]
public RequestResult GetTelemeteringData([FromQuery] int dispatcherAddr)
{
RequestResult 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;
}
///
/// 获取遥信数据
///
///
///
[HttpGet]
public RequestResult GetTelesignalData([FromQuery] Guid id)
{
//MonitoringEventBus.LogHandler($"请求调度地址:{dispatcherAddr}", "外部请求");
RequestResult 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;
}
}
}