From 96adc295cb04fd135d63d3a907f2732274f90965 Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期二, 21 四月 2026 01:11:21 +0800
Subject: [PATCH] feat: 添加MES异步上传辅助服务并重构相关代码
---
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzNet/QuartzNetExtension.cs | 29 ++++++++++++++++++++++++-----
1 files changed, 24 insertions(+), 5 deletions(-)
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzNet/QuartzNetExtension.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzNet/QuartzNetExtension.cs
index b52c966..9caa056 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzNet/QuartzNetExtension.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzNet/QuartzNetExtension.cs
@@ -1,6 +1,10 @@
锘縰sing System.Reflection;
+using WIDESEAWCS_Common;
using WIDESEAWCS_Core;
+using WIDESEAWCS_Core.Caches;
using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_Core.LogHelper;
+using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob.DTO;
using WIDESEAWCS_QuartzJob.Service;
@@ -15,19 +19,21 @@
private readonly IDeviceInfoService _deviceInfoService;
private readonly IDispatchInfoService _dispatchInfoService;
private readonly IDeviceProtocolDetailService _deviceProtocolDetailService;
+ private readonly ICacheService _cacheService;
private readonly Storage _storage;
/// <summary>
/// 鍚姩绋嬪簭鑷姩寮�鍚皟搴︽湇鍔�
/// </summary>
/// <returns></returns>
- public QuartzNetExtension(IDeviceInfoService deviceInfoService, IDispatchInfoService dispatchInfoService, ISchedulerCenter schedulerCenter, IDeviceProtocolDetailService deviceProtocolDetailService, Storage storage)
+ public QuartzNetExtension(IDeviceInfoService deviceInfoService, IDispatchInfoService dispatchInfoService, ISchedulerCenter schedulerCenter, IDeviceProtocolDetailService deviceProtocolDetailService, Storage storage, ICacheService cacheService)
{
_deviceInfoService = deviceInfoService;
_dispatchInfoService = dispatchInfoService;
_schedulerCenter = schedulerCenter;
_deviceProtocolDetailService = deviceProtocolDetailService;
_storage = storage;
+ _cacheService = cacheService;
}
/// <summary>
@@ -40,10 +46,11 @@
{
List<DispatchInfoDTO> dispatches = _dispatchInfoService.QueryDispatchInfos();
List<DeviceInfoDTO> deviceInfos = await _deviceInfoService.QueryDeviceProInfos();
+ _cacheService.RemoveByPrefix($"{RedisPrefix.System}");
deviceInfos.ForEach(x =>
{
- if (!Storage.Devices.Exists(d => d.DeviceCode == x.DeviceCode))
+ if (!Storage.Devices.Any(d => d.DeviceCode == x.DeviceCode))
{
try
{
@@ -107,11 +114,13 @@
x.Device = (IDevice)deviceInstance;
Storage.Devices.Add((IDevice)deviceInstance);
+
+ _cacheService.AddObject($"{RedisPrefix.System}:{RedisName.IDevice}:{x.DeviceName}", (IDevice)deviceInstance);
}
}
catch (Exception ex)
{
- Console.WriteLine("璋冨害鏈嶅姟寮�鍚紓甯�" + ex.ToString());
+ QuartzLogger.Error($"璋冨害鏈嶅姟寮�鍚紓甯�", "QuartzNetExtension", ex);
}
}
else
@@ -125,6 +134,7 @@
if (targetDevice is null) continue;
+
// 浣跨敤妯″紡鍖归厤
dispatches[i].JobParams = targetDevice switch
{
@@ -133,13 +143,22 @@
_ => targetDevice.Device
};
WebResponseContent responseContent = await _schedulerCenter.AddScheduleJobAsync(dispatches[i]);
- if (responseContent.Status) ConsoleHelper.WriteSuccessLine(dispatches[i].Name + "璋冨害鏈嶅姟娣诲姞鎴愬姛"); else ConsoleHelper.WriteErrorLine(dispatches[i].Name + "璋冨害鏈嶅姟娣诲姞澶辫触");
+ if (responseContent.Status)
+ {
+ QuartzLogger.Info($"{dispatches[i].Name}璋冨害鏈嶅姟娣诲姞鎴愬姛", "QuartzNetExtension");
+ ConsoleHelper.WriteSuccessLine(dispatches[i].Name + "璋冨害鏈嶅姟娣诲姞鎴愬姛");
+ }
+ else
+ {
+ QuartzLogger.Error($"{dispatches[i].Name}璋冨害鏈嶅姟娣诲姞澶辫触", "QuartzNetExtension");
+ ConsoleHelper.WriteErrorLine(dispatches[i].Name + "璋冨害鏈嶅姟娣诲姞澶辫触");
+ }
}
//await _schedulerCenter.StartScheduleAsync();
}
catch (Exception ex)
{
- Console.WriteLine("璋冨害鏈嶅姟寮�鍚紓甯�" + ex.ToString());
+ QuartzLogger.Error($"璋冨害鏈嶅姟寮�鍚紓甯�", "QuartzNetExtension", ex);
throw;
}
}
--
Gitblit v1.9.3