Class ReturnConfirmedInventoryAdjustmentListener
- java.lang.Object
-
- com.broadleafcommerce.inventory.service.messaging.AbstractInventoryAdjustmentListener
-
- com.broadleafcommerce.inventory.service.messaging.returns.ReturnConfirmedInventoryAdjustmentListener
-
@DataRouteByKey("inventory") public class ReturnConfirmedInventoryAdjustmentListener extends AbstractInventoryAdjustmentListener
Listens for return confirmations to createDefaultInventoryTransactionType.RETURNED
InventoryTransactions
and updateSkuInventory
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ReturnConfirmedInventoryAdjustmentListener.ConfirmReturnItemRequest
Confirm return item request fields relevant for adjusting inventory.static class
ReturnConfirmedInventoryAdjustmentListener.OrderFulfillment
Order fulfillment fields relevant for adjusting inventory.static class
ReturnConfirmedInventoryAdjustmentListener.OrderFulfillmentItem
Order fulfillment item fields relevant for adjusting inventory.static class
ReturnConfirmedInventoryAdjustmentListener.OrderItem
Summarization of cart item fields relevant for creating an inventory reservation request.
-
Field Summary
Fields Modifier and Type Field Description protected static String
CONFIRM_RETURN_REQUEST_ITEMS_PATH
protected static String
FULFILLMENTS_PATH
protected static String
ORDER_ITEMS_PATH
protected static String
RETURN_AUTH_ID_PATH
-
Fields inherited from class com.broadleafcommerce.inventory.service.messaging.AbstractInventoryAdjustmentListener
APPLICATION_ID_PATH, TENANT_ID_PATH
-
-
Constructor Summary
Constructors Constructor Description ReturnConfirmedInventoryAdjustmentListener(com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService idempotentConsumptionService, com.broadleafcommerce.common.extension.TypeFactory typeFactory, SkuInventoryService<SkuInventory> skuInventoryService)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected SkuInventoryAdjustmentRequestGroup
buildSkuInventoryAdjustmentGroup(List<ReturnConfirmedInventoryAdjustmentListener.OrderFulfillment> fulfillments, Map<String,List<ReturnConfirmedInventoryAdjustmentListener.ConfirmReturnItemRequest>> returnItemRequestsByFulfillmentItemId, Map<String,ReturnConfirmedInventoryAdjustmentListener.OrderItem> orderItemsById)
protected SkuInventoryAdjustmentRequest
buildSkuInventoryAdjustmentRequest(@NonNull com.jayway.jsonpath.DocumentContext jsonContext, @NonNull com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Builds theSkuInventoryAdjustmentRequest
based on the return confirmations and fulfillment info in the status change message.protected boolean
containsNewlyReturnedItems(ReturnConfirmedInventoryAdjustmentListener.OrderFulfillment fulfillment, Map<String,List<ReturnConfirmedInventoryAdjustmentListener.ConfirmReturnItemRequest>> returnItemRequestsByFulfillmentItemId)
void
listen(org.springframework.messaging.Message<String> message)
void
process(@NonNull org.springframework.messaging.Message<String> message)
Extracts the message, createsInventoryTransactions
and updatesSkuInventory
.-
Methods inherited from class com.broadleafcommerce.inventory.service.messaging.AbstractInventoryAdjustmentListener
buildContextInfo, buildContextInfo, getDocumentContext, getIdempotentConsumptionService, getSkuInventoryService, getSkuReferenceFieldType, getTypeFactory
-
-
-
-
Field Detail
-
RETURN_AUTH_ID_PATH
protected static final String RETURN_AUTH_ID_PATH
- See Also:
- Constant Field Values
-
CONFIRM_RETURN_REQUEST_ITEMS_PATH
protected static final String CONFIRM_RETURN_REQUEST_ITEMS_PATH
- See Also:
- Constant Field Values
-
FULFILLMENTS_PATH
protected static final String FULFILLMENTS_PATH
- See Also:
- Constant Field Values
-
ORDER_ITEMS_PATH
protected static final String ORDER_ITEMS_PATH
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ReturnConfirmedInventoryAdjustmentListener
public ReturnConfirmedInventoryAdjustmentListener(com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService idempotentConsumptionService, com.broadleafcommerce.common.extension.TypeFactory typeFactory, SkuInventoryService<SkuInventory> skuInventoryService)
-
-
Method Detail
-
listen
@StreamListener("inventoryReturnConfirmedInput") public void listen(org.springframework.messaging.Message<String> message)
-
process
public void process(@NonNull @NonNull org.springframework.messaging.Message<String> message)
Extracts the message, createsInventoryTransactions
and updatesSkuInventory
.- Parameters:
message
- The return confirmation event message
-
buildSkuInventoryAdjustmentRequest
protected SkuInventoryAdjustmentRequest buildSkuInventoryAdjustmentRequest(@NonNull @NonNull com.jayway.jsonpath.DocumentContext jsonContext, @NonNull @NonNull com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Builds theSkuInventoryAdjustmentRequest
based on the return confirmations and fulfillment info in the status change message.- Parameters:
jsonContext
- aDocumentContext
representation of the fulfillment message payloadcontextInfo
- Context information around sandbox and multitenant state.- Returns:
- The
SkuInventoryAdjustmentRequest
based on the fulfillment info in the status change message.
-
containsNewlyReturnedItems
protected boolean containsNewlyReturnedItems(ReturnConfirmedInventoryAdjustmentListener.OrderFulfillment fulfillment, Map<String,List<ReturnConfirmedInventoryAdjustmentListener.ConfirmReturnItemRequest>> returnItemRequestsByFulfillmentItemId)
-
buildSkuInventoryAdjustmentGroup
protected SkuInventoryAdjustmentRequestGroup buildSkuInventoryAdjustmentGroup(List<ReturnConfirmedInventoryAdjustmentListener.OrderFulfillment> fulfillments, Map<String,List<ReturnConfirmedInventoryAdjustmentListener.ConfirmReturnItemRequest>> returnItemRequestsByFulfillmentItemId, Map<String,ReturnConfirmedInventoryAdjustmentListener.OrderItem> orderItemsById)
-
-