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 Furion.FriendlyException;
namespace IStation.Application
{
///
/// MonitorControlNT
///
[Route("Monitor/Control/NT")]
[ApiDescriptionSettings("Monitor", Name = "监测南通控制", Order = 400)]
public class MonitorControlNT_Controller : IDynamicApiController
{
///
/// 测试启动
///
[Route("TestStart@V1.0")]
[HttpPost]
public string TestStart([Required] NTStartInput input)
{
if (input.Password != Settings.Operating.NT.Password)
{
throw Oops.Oh("密码错误!");
}
double operatingValue = 0;
/* switch (input.OperatingMode)
{
case Model.MonitorTestControlParas.eOperatingMode.Timing:
{
operatingValue = input.OperatingValue * 3600;
}
break;
case Model.MonitorTestControlParas.eOperatingMode.ConstantFlow:
break;
default:
break;
}*/
operatingValue = input.OperatingValue * 3600;
var context = new Model.MonitorTestControlParas.StartContext(input.HZ, input.OperatingMode, operatingValue);
var paras = new Model.MonitorTestControlParas();
paras.ControlType = Model.MonitorTestControlParas.eControlType.Start;
paras.Context = context.ToJson();
var runQueue = new RabbitMqExChangeHelper();
runQueue.Push("NTTEST", paras);
return "OK";
}
///
/// 测试关闭
///
[Route("TestStop@V1.0")]
[HttpPost]
public string TestStop([Required] NTStopInput input)
{
if (input.Password != Settings.Operating.NT.Password)
{
throw Oops.Oh("密码错误!");
}
var paras = new Model.MonitorTestControlParas();
paras.ControlType = Model.MonitorTestControlParas.eControlType.Stop;
paras.Context = string.Empty;
var runQueue = new RabbitMqExChangeHelper();
runQueue.Push("NTTEST", paras);
return "OK";
}
///
/// 测试连接模式
///
[Route("TestChange@V1.0")]
[HttpPost]
public string TestChange(NTTestChangeInput input)
{
var paras = new Model.MonitorTestControlParas();
paras.ControlType = Model.MonitorTestControlParas.eControlType.Stop;
paras.Context = string.Empty;
var runQueue = new RabbitMqExChangeHelper();
runQueue.Push("NTTEST", paras);
return "OK";
}
}
}