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