Class DefaultCustomerService
java.lang.Object
com.broadleafcommerce.search.index.customer.service.DefaultCustomerService
- All Implemented Interfaces:
CustomerService
Default implementation to read
customers
from the Customer Service.-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDefaultCustomerService
(org.springframework.web.reactive.function.client.WebClient webClient, String customerEndpoint, String readCustomerIdsPath, String readCustomersPath) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addBatchCustomerIdFilter
(org.springframework.web.util.UriBuilder uriBuilder, List<String> ids) protected String
buildReadBatchOfCustomerIdsUri
(String startId, int batchSize) protected String
protected String
protected String
protected String
The service client to use when calling inventory services.protected org.springframework.web.reactive.function.client.WebClient
readBatchOfCustomerIds
(String startId, int batchSize) Reads a batch of IDs to be placed in a queue for processing.List<com.broadleafcommerce.search.customer.core.domain.Customer>
readBatchOfCustomers
(List<String> ids) Reads a batch ofCustomers
by their IDs.Optional<com.broadleafcommerce.search.customer.core.domain.Customer>
readCustomer
(@NonNull String id) Reads a batch ofCustomers
by their IDs.void
setServiceClient
(String serviceClient) The service client to use when calling inventory services.
-
Field Details
-
CLIENT_REGISTRATION_ID
- See Also:
-
-
Constructor Details
-
DefaultCustomerService
-
-
Method Details
-
readBatchOfCustomerIds
public List<String> readBatchOfCustomerIds(@Nullable String startId, int batchSize) throws com.broadleafcommerce.search.api.SearchIndexException Description copied from interface:CustomerService
Reads a batch of IDs to be placed in a queue for processing.- Specified by:
readBatchOfCustomerIds
in interfaceCustomerService
- Parameters:
startId
- The starting IDbatchSize
- The size of the batch- Returns:
- A list of customer IDs.
- Throws:
com.broadleafcommerce.search.api.SearchIndexException
- if reading the customer ids fails.
-
buildReadBatchOfCustomerIdsUri
-
readBatchOfCustomers
public List<com.broadleafcommerce.search.customer.core.domain.Customer> readBatchOfCustomers(List<String> ids) throws com.broadleafcommerce.search.api.SearchIndexException Description copied from interface:CustomerService
Reads a batch ofCustomers
by their IDs.- Specified by:
readBatchOfCustomers
in interfaceCustomerService
- Parameters:
ids
- A list of customer IDs.- Returns:
- A list of customers or an empty list.
- Throws:
com.broadleafcommerce.search.api.SearchIndexException
- if reading the customer fails.
-
readCustomer
public Optional<com.broadleafcommerce.search.customer.core.domain.Customer> readCustomer(@NonNull @NonNull @NonNull String id) throws com.broadleafcommerce.search.api.SearchIndexException Description copied from interface:CustomerService
Reads a batch ofCustomers
by their IDs.- Specified by:
readCustomer
in interfaceCustomerService
- Parameters:
id
- A customer id- Returns:
- A customer optional or
Optional.empty()
- Throws:
com.broadleafcommerce.search.api.SearchIndexException
- if reading the customer fails.
-
buildReadBatchOfCustomersUri
-
addBatchCustomerIdFilter
-
getWebClient
protected org.springframework.web.reactive.function.client.WebClient getWebClient() -
getCustomerEndpoint
-
getReadCustomerIdsPath
-
getReadCustomersPath
-
getServiceClient
The service client to use when calling inventory services. Default is "indexerclient" -
setServiceClient
The service client to use when calling inventory services. Default is "indexerclient"
-