From 73a077d76b715aee6b9f384b087a6792a84989d8 Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <1247017146@qq.com> Date: 星期二, 03 六月 2025 11:35:52 +0800 Subject: [PATCH] 代码提交 --- 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs | 46 ++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 42 insertions(+), 4 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs" index c534fc1..108f85c 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs" @@ -13,6 +13,7 @@ using WIDESEA_StorageSocketServices; using WIDESEA_IStorageSocketServices; using Microsoft.Extensions.Configuration; +using WIDESEA_Repository; namespace WIDESEA_StorageTaskServices { @@ -22,18 +23,20 @@ Connection connection = AppSettings.Configuration.GetSection("Connection").Get<Connection>(); public SocketClientService _socket { get; set; } + private readonly IDt_HostLogRepository _hostLogRepository; private Timer _timer; - - public MyBackgroundService(ILogger<MyBackgroundService> logger, SocketClientService socketClientService) + + public MyBackgroundService(ILogger<MyBackgroundService> logger, SocketClientService socketClientService, IDt_HostLogRepository hostLogRepository) { _logger = logger; _socket = socketClientService; + _hostLogRepository = hostLogRepository; } public Task StartAsync(CancellationToken cancellationToken = default) { //TimeSpan.FromMinutes(5) - _timer = new Timer(DoWork, null, TimeSpan.Zero, TimeSpan.FromMinutes(30)); + _timer = new Timer(DoWork, null, TimeSpan.Zero, TimeSpan.FromMinutes(1)); return Task.CompletedTask; } @@ -41,7 +44,42 @@ private void DoWork(object state) { - _socket.ConnectServer(connection.IP, connection.Port); + DateTime timeHandLe = DateTime.Now.AddMinutes(-15); + if (!_socket.Socketonline()) + { + if (_socket.Time < timeHandLe) + { + _socket.Time = DateTime.Now; + _socket.AddErrorMessage("2000", "Host", ""); + } + _socket.ConnectServer(connection.IP, connection.Port); + } + DateTime threshold = DateTime.Now.AddSeconds(-30); + DateTime time = DateTime.Now.AddMinutes(-2); + DateTime Y = DateTime.Now.AddMinutes(-3); + + + var hostLog = _hostLogRepository.QueryData(x => x.CreateDate < threshold || x.ModifyDate < threshold).ToList(); + var hostLogtime = _hostLogRepository.QueryData(x => x.CreateDate < time || x.ModifyDate < time).ToList(); + var Heart = _hostLogRepository.QueryFirst(x => x.CreateDate < Y || x.ModifyDate < Y && x.CommandID == 910); + if (Heart != null) + { + Heart.CreateDate = DateTime.Now; + SqlSugarHelper.DbWMS.Updateable(Heart).ExecuteCommand(); + + _socket.AddErrorMessage("2000", "Host", ""); + _socket.HandleDisconnection(); + return; + } + if (hostLogtime.Count > 0) + { + _hostLogRepository.DeleteData(hostLogtime); + } + foreach (var item in hostLog) + { + _socket.clientSend(_socket.MakeStringToByteMsg(item.Messgae)); + Thread.Sleep(1000); + } } public Task StopAsync(CancellationToken cancellationToken) -- Gitblit v1.9.3