public async Task ProcessWarehouseQtyBlockedEvent(WarehouseQtyBlockedEvent eto) { var data = eto.Data; using var scope = _services.CreateScope(); var appSrv = scope.ServiceProvider.GetRequiredService <IOrderAppService>(); await appSrv.MarkCreatedStatusAsync(data.OrderId, new OrderMarkCreatedStatusDto { IsSuccess = data.IsSuccess, Remark = data.Remark }); }
/// <summary> /// 标记订单状态 /// </summary> /// <param name="eventDto"></param> /// <param name="tracker"></param> /// <returns></returns> public async Task MarkCreatedStatusAsync(WarehouseQtyBlockedEvent eventDto, IMessageTracker tracker) { var order = await _orderRepo.GetAsync(eventDto.Data.OrderId); order.MarkCreatedStatus(eventDto.Data.IsSuccess, eventDto.Data.Remark); await _orderRepo.UpdateAsync(order); await tracker?.MarkAsProcessedAsync(eventDto); }
public async Task ProcessWarehouseQtyBlockedEvent(WarehouseQtyBlockedEvent eventDto) { eventDto.EventTarget = nameof(ProcessWarehouseQtyBlockedEvent); var hasProcessed = await _tracker.HasProcessedAsync(eventDto); if (!hasProcessed) { await _orderSrv.MarkCreatedStatusAsync(eventDto, _tracker); } }