fix:完整预警忽略完结状态

fix:通知任务只有等实际状态完成了才变为已关闭
This commit is contained in:
hardstylewyl 2025-03-21 11:16:12 +08:00
parent 43ff83191b
commit 7ca8231070
3 changed files with 53 additions and 4 deletions

View File

@ -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));
}
// 入队等待调度

View File

@ -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;
}
// /// <summary>
// /// 模拟接口通回调
// /// </summary>
// [HttpPost("MockReturn")]
// public async Task<string> MockReturn(TrackPushRecordIndex record)
// {
// await _returnWarningHandler.ReceiveTrackPushRecordHandleAsync(record);
// return "Ok";
// }
[HttpPost("MockReturn")]
public async Task<string> 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<TrackUpdateInput>(0));
return "Ok";
}
}
public record MockReturnInput(bool IsSuccess, string ReturnMessage, Guid RequestId, List<TrackPushInput> PushInputs,List<TrackPushRecordIndex> Records);

View File

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