Example #1
0
        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 });
        }
Example #2
0
    /// <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);
    }
Example #3
0
    public async Task ProcessWarehouseQtyBlockedEvent(WarehouseQtyBlockedEvent eventDto)
    {
        eventDto.EventTarget = nameof(ProcessWarehouseQtyBlockedEvent);
        var hasProcessed = await _tracker.HasProcessedAsync(eventDto);

        if (!hasProcessed)
        {
            await _orderSrv.MarkCreatedStatusAsync(eventDto, _tracker);
        }
    }