diff --git a/Service/Charger/Handler/UploadRemoteSignalDataHandler.cs b/Service/Charger/Handler/UploadRemoteSignalDataHandler.cs index 3a2fe94..1e839cb 100644 --- a/Service/Charger/Handler/UploadRemoteSignalDataHandler.cs +++ b/Service/Charger/Handler/UploadRemoteSignalDataHandler.cs @@ -10,6 +10,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Repository.Station; namespace Service.Charger.Handler { @@ -22,6 +23,13 @@ namespace Service.Charger.Handler public class UploadRemoteSignalDataHandler : SimpleChannelInboundHandler, IBaseHandler { private static readonly ILog Log = LogManager.GetLogger(typeof(UploadRemoteSignalDataHandler)); + private BinInfoRepository BinInfoRepository { get; set; } + + public UploadRemoteSignalDataHandler(BinInfoRepository _binInfoRepository) + { + BinInfoRepository = _binInfoRepository; + } + protected override void ChannelRead0(IChannelHandlerContext ctx, UploadRemoteSignalData msg) { if (ClientMgr.TryGetClient(ctx.Channel, out var sn, out var client)) @@ -34,7 +42,15 @@ namespace Service.Charger.Handler client.TotalError = msg.TotalError; client.TotalWarning = msg.TotalWarning; client.UploadRemoteSignalData = msg; + + //Desc:充电状态;0-未知;1-正在充电;2-无电池;3-禁用;4-充电完成 + if (msg.WorkStatus == 1) + BinInfoRepository.Update(i => i.ChargeStatus == msg.WorkStatus, i => i.No == sn); + else if (msg.WorkStatus == 2 || msg.WorkStatus == 0) + { + BinInfoRepository.Update(i => i.ChargeStatus == 4, i => i.No == sn); + } } } } -} +} \ No newline at end of file