using DotNetty.Transport.Channels; using HybirdFrameworkCore.Autofac.Attribute; using log4net; using Service.Charger.Client; using Service.Charger.Common; using Service.Charger.Msg.Charger.Req; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Service.Charger.Handler { /// /// 遥测数据上报Handler /// //TODO::Order 应该是多少 [Order(8)] [Scope("InstancePerDependency")] public class UploadTelemetryDataHandler : SimpleChannelInboundHandler, IBaseHandler { private static readonly ILog Log = LogManager.GetLogger(typeof(UploadTelemetryDataHandler)); protected override void ChannelRead0(IChannelHandlerContext ctx, UploadTelemetryData msg) { if (ClientMgr.TryGetClient(ctx.Channel, out var sn, out var client)) { //存储日志 Log.Info($"receive {msg} from {sn}"); client.UploadTelemetryData = msg; //充电机实时充电功率 client.RealTimeChargePower = msg.HighVoltageAcquisitionCurrent * msg.HighVoltageAcquisitionVoltage; } else { client.ChargingStatus = (int)ChargingStatus.StartChargingFailed; } } } }