From 627371d0ffdf50239313f2c86d022a0c5c69550d Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期二, 21 四月 2026 19:43:46 +0800
Subject: [PATCH] refactor(logging): 重构日志记录模块,统一使用Serilog和QuartzLogHelper
---
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/RobotTaskService.cs | 30 +++++++++++++++++++++---------
1 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/RobotTaskService.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/RobotTaskService.cs
index 494541e..1e60a39 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/RobotTaskService.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/RobotTaskService.cs
@@ -20,7 +20,9 @@
using MapsterMapper;
using Microsoft.Extensions.Configuration;
using Newtonsoft.Json;
+using Serilog;
using SqlSugar;
+using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using WIDESEA_Core;
using WIDESEAWCS_Common.HttpEnum;
@@ -36,6 +38,7 @@
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob;
using WIDESEAWCS_QuartzJob.DTO;
+using WIDESEAWCS_Tasks;
namespace WIDESEAWCS_TaskInfoService
{
@@ -44,6 +47,7 @@
private readonly IMapper _mapper;
private readonly HttpClientHelper _httpClientHelper;
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
+ private readonly ILogger _logger;
private Dictionary<string, OrderByType> _taskOrderBy = new()
{
@@ -60,11 +64,12 @@
public List<int> TaskRobotTypes => typeof(TaskOtherTypeEnum).GetEnumIndexList();
- public RobotTaskService(IRobotTaskRepository BaseDal, IMapper mapper, HttpClientHelper httpClientHelper, ITaskExecuteDetailService taskExecuteDetailService) : base(BaseDal)
+ public RobotTaskService(IRobotTaskRepository BaseDal, IMapper mapper, HttpClientHelper httpClientHelper, ITaskExecuteDetailService taskExecuteDetailService, ILogger logger) : base(BaseDal)
{
_mapper = mapper;
_httpClientHelper = httpClientHelper;
_taskExecuteDetailService = taskExecuteDetailService;
+ _logger = logger;
}
public WebResponseContent ReceiveWMSTask([NotNull] WMSTaskDTO taskDTO, StockDTO stockDTO)
@@ -80,13 +85,13 @@
Dt_RobotTask task = new Dt_RobotTask
{
RobotTaskNum = taskDTO.TaskNum,
- RobotSourceAddressLineCode = stockDTO.SourceLineNo,
- RobotTargetAddressLineCode = stockDTO.TargetLineNo,
- RobotRoadway = stockDTO.Roadway,
+ RobotSourceAddressLineCode = stockDTO?.SourceLineNo ?? string.Empty,
+ RobotTargetAddressLineCode = stockDTO?.TargetLineNo ?? string.Empty,
+ RobotRoadway = stockDTO?.Roadway ?? string.Empty,
RobotSourceAddress = taskDTO.SourceAddress,
RobotTargetAddress = taskDTO.TargetAddress,
- RobotSourceAddressPalletCode = stockDTO.SourcePalletNo,
- RobotTargetAddressPalletCode = stockDTO.TargetPalletNo,
+ RobotSourceAddressPalletCode = stockDTO?.SourcePalletNo ?? string.Empty,
+ RobotTargetAddressPalletCode = stockDTO?.TargetPalletNo ?? string.Empty,
RobotTaskType = taskDTO.TaskType,
RobotTaskState = taskDTO.TaskStatus,
RobotGrade = taskDTO.Grade,
@@ -131,13 +136,20 @@
{
string configKey = ResolveRobotTaskConfigKey(task.TargetAddress);
StockDTO stock = BuildRobotTaskStock(task, configKey);
+ string requestParam = stock.ToJson();
+ var stopwatch = Stopwatch.StartNew();
- var result = _httpClientHelper.Post<WebResponseContent>(configKey, stock.ToJson());
-
+ var result = _httpClientHelper.Post<WebResponseContent>(configKey, requestParam);
+ stopwatch.Stop();
if (!result.IsSuccess || !result.Data.Status)
+ {
+ QuartzLogHelper.LogError(_logger, $"璋冪敤WMS鎺ュ彛澶辫触,鎺ュ彛:銆恵configKey}銆�,璇锋眰鍙傛暟:銆恵requestParam}銆�,閿欒淇℃伅:銆恵result.Data?.Message}銆�", "RobotTaskService");
return WebResponseContent.Instance.Error($"鑾峰彇WMS绯荤粺鏈烘鎵嬩换鍔″け璐�,浠诲姟鍙�:銆恵task.TaskNum}銆�,鎵樼洏鍙�:銆恵task.PalletCode}銆�,鐩爣鍦板潃:銆恵task.TargetAddress}銆�,鎺ュ彛:銆恵configKey}銆�,閿欒淇℃伅:銆恵result.Data?.Message}銆�");
+ }
- var wMSTask = JsonConvert.DeserializeObject<WMSTaskDTO>(result.Data.Data?.ToString() ?? string.Empty);
+ QuartzLogHelper.LogInfo(_logger, $"璋冪敤WMS鎺ュ彛鎴愬姛,鎺ュ彛:銆恵configKey}銆�,鍝嶅簲鏁版嵁:銆恵result.Data?.Data}銆�,鑰楁椂:{stopwatch.ElapsedMilliseconds}ms", "RobotTaskService");
+
+ var wMSTask = JsonConvert.DeserializeObject<WMSTaskDTO>(result?.Data?.Data?.ToString() ?? string.Empty);
if (wMSTask == null)
return WebResponseContent.Instance.Error($"鑾峰彇WMS绯荤粺鏈烘鎵嬩换鍔″け璐�,浠诲姟鍙�:銆恵task.TaskNum}銆�,鎵樼洏鍙�:銆恵task.PalletCode}銆�,閿欒淇℃伅:銆怶MS鏈繑鍥炴湁鏁堜换鍔℃暟鎹��");
--
Gitblit v1.9.3