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