diff --git a/Service/Charger/Client/ChargerClient.cs b/Service/Charger/Client/ChargerClient.cs index c1e3ed6..613dc6f 100644 --- a/Service/Charger/Client/ChargerClient.cs +++ b/Service/Charger/Client/ChargerClient.cs @@ -255,9 +255,14 @@ public class ChargerClient : TcpClient RedisHelper? redisHelper = AppInfo.Container.Resolve(); string strkey = Sn + Gun1; string strvalue = JsonConvert.SerializeObject(value); - + int count = 0; while (!redisHelper.SetKeyValueStr(strkey, strvalue)) { + count++; + if (count >= 4) + { + break; + } Thread.Sleep(500); } } @@ -291,9 +296,14 @@ public class ChargerClient : TcpClient RedisHelper? redisHelper = AppInfo.Container.Resolve(); string strkey = Sn + Gun2; string strvalue = JsonConvert.SerializeObject(value); - + int count = 0; while (!redisHelper.SetKeyValueStr(strkey, strvalue)) { + count++; + if (count >= 4) + { + break; + } Thread.Sleep(500); } } diff --git a/Service/Charger/Handler/OutCharger/PileUploadTelemetryHandler.cs b/Service/Charger/Handler/OutCharger/PileUploadTelemetryHandler.cs index 970fe63..b178635 100644 --- a/Service/Charger/Handler/OutCharger/PileUploadTelemetryHandler.cs +++ b/Service/Charger/Handler/OutCharger/PileUploadTelemetryHandler.cs @@ -1,6 +1,7 @@ using DotNetty.Transport.Channels; using HybirdFrameworkCore.Autofac.Attribute; using log4net; +using Repository.Station; using Service.Charger.Client; using Service.Charger.Msg.Charger.OutCharger.Req; @@ -14,7 +15,12 @@ namespace Service.Charger.Handler.OutCharger; public class PileUploadTelemetryHandler : SimpleChannelInboundHandler, IBaseHandler { private static readonly ILog Log = LogManager.GetLogger(typeof(PileUploadTelemetryHandler)); + private BinGunInfoRepository binGunInfoRepository { get; set; } + public PileUploadTelemetryHandler(BinGunInfoRepository _binGunInfoRepository) + { + binGunInfoRepository = _binGunInfoRepository; + } protected override void ChannelRead0(IChannelHandlerContext ctx, PileUploadTelemetry msg) { if (ClientMgr.TryGetClient(ctx.Channel, out var sn, out var client)) @@ -25,6 +31,8 @@ public class PileUploadTelemetryHandler : SimpleChannelInboundHandler i.Soc == msg.CurrentSoc, + i => i.ChargerNo == sn && i.GunNo == msg.Pn); } } } \ No newline at end of file