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 PrepareBatteryCompleteReqHandler : SimpleChannelInboundHandler, IBaseHandler
{
///
///
///
private static ILog Log(string? sn)
{
if (ObjUtils.IsNotNullOrWhiteSpace(sn))
{
return LogManager.GetLogger("Charger" + sn);
}
return LogManager.GetLogger(typeof(PrepareBatteryCompleteReqHandler));
}
///
///
///
protected override void ChannelRead0(IChannelHandlerContext ctx, PrepareBatteryCompleteReq 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.PrepareBatteryCompleteResq());
}
}
}