You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.2 KiB

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;
/// <summary>
/// 准备电池完成 处理器
/// </summary>
[Order(8)]
[Scope("InstancePerDependency")]
public class PrepareBatteryCompleteReqHandler : SimpleChannelInboundHandler<PrepareBatteryCompleteReq>, IBaseHandler
{
/// <summary>
///
/// </summary>
private static ILog Log(string? sn)
{
if (ObjUtils.IsNotNullOrWhiteSpace(sn))
{
return LogManager.GetLogger("Charger" + sn);
}
return LogManager.GetLogger(typeof(PrepareBatteryCompleteReqHandler));
}
/// <summary>
///
/// </summary>
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());
}
}
}