using Microsoft.AspNetCore.Mvc;
using System.Net;
using System.Net.Http.Headers;
using Microsoft.Extensions.Hosting.Internal;
using Microsoft.AspNetCore.Http.Extensions;
using IStation.Untity;
using Furion.DynamicApiController;
using System.ComponentModel.DataAnnotations;
using Mapster;
using Microsoft.AspNetCore.Http;
using Furion.DependencyInjection;
using Microsoft.AspNetCore.Authorization;
using Furion.DataEncryption;
using Furion.FriendlyException;
namespace IStation.Application
{
///
/// 运行
///
[AllowAnonymous]
[Route("LargeScreen/Demo/Run")]
[ApiDescriptionSettings("LargeScreen", Name = "Demo(运行)", Order = 666)]
public class DemoRun_Controller : IDynamicApiController, ITransient
{
private readonly IHttpContextAccessor _httpContextAccessor;
///
///
///
public DemoRun_Controller(IHttpContextAccessor httpContextAccessor)
{
_httpContextAccessor = httpContextAccessor;
}
private const long _corpId = 3;
///
/// 通过 MonitorPointID 获取最近一条实时数据
///
[Route("GetLastRealRecordByMonitorPointID")]
[HttpGet]
public List GetLastRealRecordByMonitorPointID([FromQuery][Required] MonitorPointIDUnderCorpInput input)
{
var list = new Service.MonitorRealRecord().GetLastRecord(input.CorpID, input.MonitorPointID);
var vm_list = list?.Select(x => x.Adapt()).ToList();
return vm_list;
}
///
/// 通过 MonitorPointIds 获取最近一条数据
///
[Route("GetLastRecordByMonitorPointIds")]
[HttpGet]
public List GetLastRecordByMonitorPointIds([FromQuery][Required] MonitorPointIdsUnderCorpInput input)
{
var corpId = input.CorpID;
var ids = LongListHelper.ToList(input.MonitorPointIds);
var list = new Service.MonitorRecord().GetLastRecord(corpId, ids);
return list?.Select(x => new DemoMonitorRecordDto(x)).ToList();
}
///
/// 通过 MonitorPointID 获取某天的实时数据
///
[Route("GetRealRecordListByMonitorPointIDOfDay")]
[HttpGet]
public List GetRealRecordListByMonitorPointIDOfDay
(
[Required, Range(1, long.MaxValue, ErrorMessage = "CorpID 必须大于0")]
long CorpID,
[Required, Range(1, long.MaxValue, ErrorMessage = "MonitorPointID 必须大于0")]
long MonitorPointID,
[Required]
DateTime Day
)
{
var list = new Service.MonitorRealRecord().GetByMonitorPointIDOfDay(CorpID, MonitorPointID, Day);
return list?.Select(x => new DemoMonitorRealRecordDto(x)).ToList();
}
///
/// 获取监测报警记录模糊分页列表
///
[Route("GetMonitorAlarmRecordFluzzyPageList")]
[HttpGet]
public PageListOutput GetMonitorAlarmRecordFluzzyPageList([FromQuery][Required] DemoGetMonitorAlarmRecordFluzzyPageListInput input)
{
int total = 0;
var list = new Service.MonitorAlarmRecord().GetFluzzyPageList
(input.CorpID, LongListHelper.ToList(input.MonitorPointIds), input.AlarmType, input.AlarmLevel, input.HandleStatus, input.StartTime, input.EndTime, input.PageIndex, input.PageSize, ref total);
var vm_list = list?.Select(x => x.Adapt()).ToList();
return new PageListOutput() { Total = total, List = vm_list };
}
}
}