public async Task Consume(ConsumeContext <ShipmentCreatedEvent> context)
        {
            ShipmentCreatedEvent shipmentCreatedEvent = context.Message;
            long orderId = long.Parse(shipmentCreatedEvent.CorrelationId);

            await _distributedLockManager.LockAsync(OrderOperationKey(orderId),
                                                    async() =>
            {
                IOrderStateMachine orderStateMachine = await _orderStateMachineFactory.BuildOrderStateMachineAsync(orderId);
                orderStateMachine.SetAsOrderShipped();
            }
                                                    );
        }
        /// <summary>
        /// Handle shipment created event
        /// </summary>
        /// <param name="eventMessage">Event message</param>
        /// <returns>A task that represents the asynchronous operation</returns>
        public async Task HandleEventAsync(ShipmentCreatedEvent eventMessage)
        {
            if (eventMessage.Shipment is null)
            {
                return;
            }

            if (!await _shippingPluginManager.IsPluginActiveAsync(EasyPostDefaults.SystemName))
            {
                return;
            }

            await _easyPostService.SaveShipmentAsync(eventMessage.Shipment);
        }