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 PowerTransferCompletedReqHandler : SimpleChannelInboundHandler, IBaseHandler { /// /// /// private static ILog Log(string? sn) { if (ObjUtils.IsNotNullOrWhiteSpace(sn)) { return LogManager.GetLogger("Charger" + sn); } return LogManager.GetLogger(typeof(PowerTransferCompletedReqHandler)); } /// /// /// protected override void ChannelRead0(IChannelHandlerContext ctx, PowerTransferCompletedReq msg) { if (Client.ClientMgr.TryGetClient(ctx.Channel, out string sn, out var client)) { Log(sn).Info($"process {JsonConvert.SerializeObject(msg)}"); ctx.Channel.WriteAndFlushAsync(new Msg.Host.Resp.PowerTransferCompletedResq()); } } }