using DotNetty.Transport.Channels; using HybirdFrameworkCore.Autofac.Attribute; using HybirdFrameworkCore.Utils; using log4net; using Newtonsoft.Json; using Service.Charger.Msg.Charger.Req; using Service.Charger.Msg.Charger.Resp; namespace Service.Charger.Handler; /// /// 电池状态上报 处理器 /// [Order(8)] [Scope("InstancePerDependency")] public class BatteryStatusReportedReqHandler : SimpleChannelInboundHandler, IBaseHandler { /// /// /// private static ILog Log(string? sn) { if (ObjUtils.IsNotNullOrWhiteSpace(sn)) { return LogManager.GetLogger("Charger" + sn); } return LogManager.GetLogger(typeof(BatteryStatusReportedReqHandler)); } /// /// /// protected override void ChannelRead0(IChannelHandlerContext ctx, BatteryStatusReportedReq msg) { if (Client.ClientMgr.TryGetClient(ctx.Channel, out string sn, out var client)) { Log(sn).Info($"process {JsonConvert.SerializeObject(msg)}"); //TODO:: //ctx.Channel.WriteAndFlushAsync(""); } } }