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; //不存在符合条件的订单,直接提交信号丢弃