Class DefaultOrderConsolidationService<P extends ConsolidatedOrder>
java.lang.Object
com.broadleafcommerce.order.service.consolidation.DefaultOrderConsolidationService<P>
- All Implemented Interfaces:
OrderConsolidationService<P>
public class DefaultOrderConsolidationService<P extends ConsolidatedOrder>
extends Object
implements OrderConsolidationService<P>
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDefaultOrderConsolidationService
(OrderService<com.broadleafcommerce.order.client.domain.Order> orderService, OrderFulfillmentService<com.broadleafcommerce.order.client.domain.OrderFulfillment> orderFulfillmentService, com.broadleafcommerce.common.extension.TypeFactory typeFactory) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
consolidateOrderFulfillments
(Set<String> orderIds, List<P> consolidatedOrders, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) consolidateOrders
(List<? extends com.broadleafcommerce.order.client.domain.Order> orders, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Consolidate orders with their related domain, such asOrderFulfillments
.consolidatePaymentDistributions
(com.broadleafcommerce.order.client.domain.Order order) protected P
createConsolidatedOrder
(@NonNull com.broadleafcommerce.order.client.domain.Order order) Creates aConsolidatedOrder
from anOrder
.protected cz.jirutka.rsql.parser.ast.Node
enhanceFilters
(cz.jirutka.rsql.parser.ast.Node filters) Adds a filter against archived Orders to the existing filtersprotected OrderFulfillmentService<com.broadleafcommerce.order.client.domain.OrderFulfillment>
protected OrderService<com.broadleafcommerce.order.client.domain.Order>
protected com.broadleafcommerce.data.tracking.core.filtering.fetch.FilterParser<cz.jirutka.rsql.parser.ast.Node>
protected com.broadleafcommerce.common.extension.TypeFactory
readAllConsolidatedOrders
(cz.jirutka.rsql.parser.ast.Node filters, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Read and consolidate orders with their related domain.readConsolidatedOrderById
(String id, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Reads a singleConsolidatedOrder
by ID.readConsolidatedOrderByIdMatchingTenant
(String id, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Reads a singleConsolidatedOrder
by ID and the tenant fromContextInfo
if present.void
setRsqlParser
(com.broadleafcommerce.data.tracking.core.filtering.fetch.FilterParser<cz.jirutka.rsql.parser.ast.Node> rsqlParser)
-
Field Details
-
IGNORE_ARCHIVED_FILTER
- See Also:
-
-
Constructor Details
-
DefaultOrderConsolidationService
public DefaultOrderConsolidationService(OrderService<com.broadleafcommerce.order.client.domain.Order> orderService, OrderFulfillmentService<com.broadleafcommerce.order.client.domain.OrderFulfillment> orderFulfillmentService, com.broadleafcommerce.common.extension.TypeFactory typeFactory)
-
-
Method Details
-
readAllConsolidatedOrders
public List<P> readAllConsolidatedOrders(cz.jirutka.rsql.parser.ast.Node filters, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Description copied from interface:OrderConsolidationService
Read and consolidate orders with their related domain.- Specified by:
readAllConsolidatedOrders
in interfaceOrderConsolidationService<P extends ConsolidatedOrder>
- Parameters:
filters
- the RSQLNode
used to restrict results, must not be nullcontext
- context information around sandboxing and multitenant state- Returns:
- list of orders consolidated with relations
-
readConsolidatedOrderById
public P readConsolidatedOrderById(String id, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:OrderConsolidationService
Reads a singleConsolidatedOrder
by ID.- Specified by:
readConsolidatedOrderById
in interfaceOrderConsolidationService<P extends ConsolidatedOrder>
- Parameters:
id
- ID of the ordercontextInfo
- context information around sandboxing and multitenant state- Returns:
- The conoslidated order matching the
id
.
-
readConsolidatedOrderByIdMatchingTenant
public P readConsolidatedOrderByIdMatchingTenant(String id, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:OrderConsolidationService
Reads a singleConsolidatedOrder
by ID and the tenant fromContextInfo
if present.- Specified by:
readConsolidatedOrderByIdMatchingTenant
in interfaceOrderConsolidationService<P extends ConsolidatedOrder>
- Parameters:
id
- ID of the ordercontextInfo
- context information around sandboxing and multitenant state- Returns:
- The conoslidated order matching the
id
and tenant.
-
consolidateOrders
protected List<P> consolidateOrders(List<? extends com.broadleafcommerce.order.client.domain.Order> orders, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Consolidate orders with their related domain, such asOrderFulfillments
.- Parameters:
orders
- The orders to get related domain forcontext
- context information surrounding sandboxing/multitenant state- Returns:
- Orders combined with their related domain
-
createConsolidatedOrder
protected P createConsolidatedOrder(@NonNull @NonNull com.broadleafcommerce.order.client.domain.Order order) Creates aConsolidatedOrder
from anOrder
. This does not populate any fields not already part of anOrder
.- Parameters:
order
-Order
forming the basis of theConsolidatedOrder
to be created- Returns:
- The
ConsolidatedOrder
based onorder
.
-
consolidatePaymentDistributions
-
consolidateOrderFulfillments
-
enhanceFilters
protected cz.jirutka.rsql.parser.ast.Node enhanceFilters(cz.jirutka.rsql.parser.ast.Node filters) Adds a filter against archived Orders to the existing filters- Parameters:
filters
- existing filters- Returns:
- enhanced filters
-
getOrderService
-
getOrderFulfillmentService
protected OrderFulfillmentService<com.broadleafcommerce.order.client.domain.OrderFulfillment> getOrderFulfillmentService() -
getTypeFactory
protected com.broadleafcommerce.common.extension.TypeFactory getTypeFactory() -
getRsqlParser
protected com.broadleafcommerce.data.tracking.core.filtering.fetch.FilterParser<cz.jirutka.rsql.parser.ast.Node> getRsqlParser() -
setRsqlParser
@Autowired public void setRsqlParser(com.broadleafcommerce.data.tracking.core.filtering.fetch.FilterParser<cz.jirutka.rsql.parser.ast.Node> rsqlParser)
-