JiShe.CollectBus/JiShe.CollectBus.Host/Controllers/WeatherForecastController.cs
2024-11-08 17:21:49 +08:00

139 lines
4.8 KiB
C#
Raw Blame History

using JiShe.CollectBus.Common.Enums;
using JiShe.CollectBus.Common.Extensions;
using JiShe.CollectBus.Common.Models;
using JiShe.CollectBus.RabbitMQ.Senders;
using Microsoft.AspNetCore.Mvc;
namespace JiShe.CollectBus.Host.Controllers
{
[ApiController]
[Route("[controller]/[action]")]
public class WeatherForecastController : ControllerBase
{
private static readonly string[] Summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};
private readonly ILogger<WeatherForecastController> _logger;
private readonly INSender _nSender;
public WeatherForecastController(INSender nSender, ILogger<WeatherForecastController> logger)
{
_nSender = nSender;
_logger = logger;
}
[HttpGet(Name = "GetWeatherForecast")]
public IEnumerable<WeatherForecast> Get()
{
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
{
Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
TemperatureC = Random.Shared.Next(-20, 55),
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
})
.ToArray();
}
[HttpGet(Name = "AmmeterParameterSend")]
public async Task<bool> AmmeterParameterSendAsync()
{
var listMeter = new List<AmmeterParameter>()
{
new AmmeterParameter()
{
Pn = 1,
BaudRate = 3,
Port = 2,
ProtocolType = CommunicationProtocolType.DLT6452007,
Address = "312408006642",
Password = "000000",
RateNumber = 4,
IntegerBitNumber = 4,
DecimalBitNumber = 4,
CollectorAddress = "000000000000",
UserCategoryNumber = 0,
UserSubclassNumber = 0
}
};
var bytes = HexStringExtensions.BuildAmmeterParameterSetSendCmd(new ReqParameter2()
{
AFN = AFN.<EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD>,
FunCode = (int)CMasterStationFunCode.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
A = "322009872",
Seq = new Seq()
{
TpV = TpV.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ,
FIRFIN = FIRFIN.<EFBFBD><EFBFBD>֡,
CON = CON.<EFBFBD><EFBFBD>Ҫ<EFBFBD>Ը<EFBFBD>֡<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>,
PRSEQ = 10,
},
MSA = 13,
Pn = 0,
Fn = 10
}, listMeter);
// await _nSender.SendToIssuedAsync(new MessageIssuedEvent { DeviceNo = "322009872", Message = bytes, Type = IssuedEventType.Data,MessageId = Guid.NewGuid().ToString() });
return true;
}
[HttpGet(Name = "AmmeterParameterReading")]
public bool AmmeterParameterReading()
{
HexStringExtensions.BuildAmmeterParameterReadingSendCmd(new ReqParameter2()
{
AFN = AFN.<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
FunCode = (int)CMasterStationFunCode.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
A = "322009872",
Seq = new Seq()
{
TpV = TpV.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ,
FIRFIN = FIRFIN.<EFBFBD><EFBFBD>֡,
CON = CON.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>Ը<EFBFBD>֡<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>,
PRSEQ = 2,
},
MSA = 13,
Pn = 0,
Fn = 10
}, new List<int>() { 1, 2 });
return true;
}
[HttpGet(Name = "ActivePowerIndicationReading")]
public bool ActivePowerIndicationReading()
{
//var str = "68A600A6006888203290261A0A6200000201010001000100621E426622082431000000000000040300000000000000CA16";
//var cmdResult = new BuildCommand().AnalysisCmd(str);
//if(cmdResult != null)
//{
// var list = new BuildCommand().AnalysisAFN04F10DataUnit(cmdResult.HexDatas);
//}
HexStringExtensions.BuildSendCommandBytes(new ReqParameter2()
{
AFN = AFN.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
FunCode = (int)CMasterStationFunCode.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
A = "322009872",
Seq = new Seq()
{
TpV = TpV.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ,
FIRFIN = FIRFIN.<EFBFBD><EFBFBD>֡,
CON = CON.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>Ը<EFBFBD>֡<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>,
PRSEQ = 2,
},
MSA = 13,
Pn = 1,
Fn = 129
});
//HexStringExtensions.AmmeterValveControl("312408006642", "", "000000", true);
return true;
}
}
}