Class PaymentReversalFulfillmentFulfilledListener
- java.lang.Object
-
- com.broadleafcommerce.orderoperation.service.messaging.fulfillments.AbstractPaymentReversalFulfillmentStatusChangeListener
-
- com.broadleafcommerce.orderoperation.service.messaging.fulfillments.PaymentReversalFulfillmentFulfilledListener
-
public class PaymentReversalFulfillmentFulfilledListener extends AbstractPaymentReversalFulfillmentStatusChangeListener
Listens for fulfilledFulfillmentStatusChangeEvent
. If this is the last fulfillment, and there are any remaining non-captured payments, then this will reverse those payments.
-
-
Field Summary
-
Fields inherited from class com.broadleafcommerce.orderoperation.service.messaging.fulfillments.AbstractPaymentReversalFulfillmentStatusChangeListener
STATUSES_ELIGIBLE_FOR_CAPTURE
-
-
Constructor Summary
Constructors Constructor Description PaymentReversalFulfillmentFulfilledListener(com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService idempotentMessageService, PaymentAuthReversalService paymentAuthReversalService, OrderProvider<com.broadleafcommerce.order.client.domain.Order> orderProvider, FulfillmentProvider<com.broadleafcommerce.order.client.domain.OrderFulfillment> fulfillmentProvider, ResourceLockProvider resourceLockProvider)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
listen(org.springframework.messaging.Message<FulfillmentStatusChangeEvent> message)
Implementations should override this method to add aStreamListener
to listen on a channel forFulfillmentStatusChangeEvent
, and invokeAbstractPaymentReversalFulfillmentStatusChangeListener.processEvent(Message)
through theAbstractPaymentReversalFulfillmentStatusChangeListener.idempotentMessageService
.protected void
processEventInternal(com.broadleafcommerce.order.client.domain.OrderFulfillment fulfillment, com.broadleafcommerce.order.client.domain.Order order, String previousFulfillmentStatus, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
This should be extended to invoke the business logic for reversing non-captured payments.-
Methods inherited from class com.broadleafcommerce.orderoperation.service.messaging.fulfillments.AbstractPaymentReversalFulfillmentStatusChangeListener
cannotBeCaptured, entireOrderDoneCapturing, getFulfillmentProvider, getIdempotentMessageService, getOrder, getOrderProvider, getPaymentAuthReversalService, getResourceLockProvider, processEvent, reverseRemainingOrderAuthPaymentsIfNeeded
-
-
-
-
Constructor Detail
-
PaymentReversalFulfillmentFulfilledListener
public PaymentReversalFulfillmentFulfilledListener(com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService idempotentMessageService, PaymentAuthReversalService paymentAuthReversalService, OrderProvider<com.broadleafcommerce.order.client.domain.Order> orderProvider, FulfillmentProvider<com.broadleafcommerce.order.client.domain.OrderFulfillment> fulfillmentProvider, ResourceLockProvider resourceLockProvider)
-
-
Method Detail
-
listen
@StreamListener("orderOperationsFulfillmentFulfilledInput") public void listen(org.springframework.messaging.Message<FulfillmentStatusChangeEvent> message)
Description copied from class:AbstractPaymentReversalFulfillmentStatusChangeListener
Implementations should override this method to add aStreamListener
to listen on a channel forFulfillmentStatusChangeEvent
, and invokeAbstractPaymentReversalFulfillmentStatusChangeListener.processEvent(Message)
through theAbstractPaymentReversalFulfillmentStatusChangeListener.idempotentMessageService
.- Specified by:
listen
in classAbstractPaymentReversalFulfillmentStatusChangeListener
- Parameters:
message
- the fulfillment status change message received
-
processEventInternal
protected void processEventInternal(com.broadleafcommerce.order.client.domain.OrderFulfillment fulfillment, com.broadleafcommerce.order.client.domain.Order order, String previousFulfillmentStatus, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Description copied from class:AbstractPaymentReversalFulfillmentStatusChangeListener
This should be extended to invoke the business logic for reversing non-captured payments. This will be utilized fromAbstractPaymentReversalFulfillmentStatusChangeListener.processEvent(Message)
which will have already handled locking and hydrating the order and fulfillment.- Specified by:
processEventInternal
in classAbstractPaymentReversalFulfillmentStatusChangeListener
- Parameters:
fulfillment
- the fulfillment which changed statusorder
- the order containing the fulfillmentpreviousFulfillmentStatus
- the original status of the fulfillment before the changecontextInfo
- context information surrounding sandboxing and multitenant state
-
-