From 7ca8231070e57a8dfa4e59463d79b33438dac401 Mon Sep 17 00:00:00 2001
From: hardstylewyl <827778732@qq.com>
Date: Fri, 21 Mar 2025 11:16:12 +0800
Subject: [PATCH] =?UTF-8?q?fix:=E5=AE=8C=E6=95=B4=E9=A2=84=E8=AD=A6?=
=?UTF-8?q?=E5=BF=BD=E7=95=A5=E5=AE=8C=E7=BB=93=E7=8A=B6=E6=80=81=20fix:?=
=?UTF-8?q?=E9=80=9A=E7=9F=A5=E4=BB=BB=E5=8A=A1=E5=8F=AA=E6=9C=89=E7=AD=89?=
=?UTF-8?q?=E5=AE=9E=E9=99=85=E7=8A=B6=E6=80=81=E5=AE=8C=E6=88=90=E4=BA=86?=
=?UTF-8?q?=E6=89=8D=E5=8F=98=E4=B8=BA=E5=B7=B2=E5=85=B3=E9=97=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Hangfire/WarningTaskScanner.cs | 6 +--
.../DebugApis/_MockReturnWarningService.cs | 50 +++++++++++++++++++
.../Handlers/CompleteWarningHandler.cs | 1 -
3 files changed, 53 insertions(+), 4 deletions(-)
create mode 100644 src/SJZY.Track.Application/Services/DebugApis/_MockReturnWarningService.cs
diff --git a/src/SJZY.Track.Application/Hangfire/WarningTaskScanner.cs b/src/SJZY.Track.Application/Hangfire/WarningTaskScanner.cs
index 9f2646f3..d7e796af 100644
--- a/src/SJZY.Track.Application/Hangfire/WarningTaskScanner.cs
+++ b/src/SJZY.Track.Application/Hangfire/WarningTaskScanner.cs
@@ -49,9 +49,9 @@ public class WarningTaskScanner : IWarningTaskScanner, ITransientDependency
foreach (var config in notifyConfigs)
BackgroundJob.Enqueue(() => _warningTaskService.CallNotifyAsync(config, CancellationToken.None));
- // 3.关闭通知任务
- if (taskIds.Count > 0)
- await _warningTaskRepository.CloseWarningNotifyTaskAsync(x => !x.IsClosed && taskIds.Contains(x.Id));
+ // 3.关闭通知任务 等待变为完结态
+ // if (taskIds.Count > 0)
+ // await _warningTaskRepository.CloseWarningNotifyTaskAsync(x => !x.IsClosed && taskIds.Contains(x.Id));
}
// 入队等待调度
diff --git a/src/SJZY.Track.Application/Services/DebugApis/_MockReturnWarningService.cs b/src/SJZY.Track.Application/Services/DebugApis/_MockReturnWarningService.cs
new file mode 100644
index 00000000..83070287
--- /dev/null
+++ b/src/SJZY.Track.Application/Services/DebugApis/_MockReturnWarningService.cs
@@ -0,0 +1,50 @@
+using Microsoft.AspNetCore.Authorization;
+using SJZY.Track.Application.Contract.Dtos.TrackPush;
+using SJZY.Track.Application.Services.Warning.Handlers;
+using SJZY.Track.Domain.Aggregates.TrackPushAggregate;
+using SJZY.Track.Domain.Extensions;
+
+namespace SJZY.Track.Application.Services.DebugApis;
+
+[AllowAnonymous]
+[ApiExplorerSettings(GroupName = "调试专用")]
+[Route("/S07")]
+public class _MockReturnWarningService : ApplicationService
+{
+ private readonly IReturnWarningHandler _returnWarningHandler;
+
+ public _MockReturnWarningService(IReturnWarningHandler returnWarningHandler)
+ {
+ _returnWarningHandler = returnWarningHandler;
+ }
+
+ // ///
+ // /// 模拟接口通回调
+ // ///
+ // [HttpPost("MockReturn")]
+ // public async Task MockReturn(TrackPushRecordIndex record)
+ // {
+ // await _returnWarningHandler.ReceiveTrackPushRecordHandleAsync(record);
+ // return "Ok";
+ // }
+
+
+
+ [HttpPost("MockReturn")]
+ public async Task MockReturn(MockReturnInput input)
+ {
+ var requestPrams = TextJsonHelper.Serialize(input.PushInputs)!;
+ input.Records.ForEach(x =>
+ {
+ x.RequestId = input.RequestId;
+ x.IsSuccess = input.IsSuccess;
+ x.Message = input.ReturnMessage;
+ });
+ await _returnWarningHandler.ReceiveTrackPushRecordHandleAsync(input.IsSuccess, requestPrams, input.Records, input.PushInputs, new List(0));
+ return "Ok";
+ }
+
+
+}
+
+public record MockReturnInput(bool IsSuccess, string ReturnMessage, Guid RequestId, List PushInputs,List Records);
diff --git a/src/SJZY.Track.Application/Services/Warning/Handlers/CompleteWarningHandler.cs b/src/SJZY.Track.Application/Services/Warning/Handlers/CompleteWarningHandler.cs
index e0c8db1d..5e5d26c0 100644
--- a/src/SJZY.Track.Application/Services/Warning/Handlers/CompleteWarningHandler.cs
+++ b/src/SJZY.Track.Application/Services/Warning/Handlers/CompleteWarningHandler.cs
@@ -109,7 +109,6 @@ public sealed class CompleteWarningHandler : ICompleteWarningHandler, ITransient
var orderIdSet = addedSignals.Select(x => x.OrderId).ToHashSet();
var orders = await _orderRepository.GetListAsync(x =>
orderIdSet.Contains(x.Id)
- && x.IsCompleted == false
);
if (orders.Count == 0) return; //不存在符合条件的订单,直接提交信号丢弃