Class ExternalOfferProvider
java.lang.Object
com.broadleafcommerce.catalogbrowse.service.provider.external.AbstractExternalProvider
com.broadleafcommerce.catalogbrowse.service.provider.external.offer.ExternalOfferProvider
- All Implemented Interfaces:
OfferProvider
Connects to an external offer service.
- Author:
- Jon Fleschler (jfleschler)
-
Constructor Summary
ConstructorsConstructorDescriptionExternalOfferProvider(org.springframework.web.reactive.function.client.WebClient catalogBrowseWebClient, com.fasterxml.jackson.databind.ObjectMapper mapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddCustomerContext(@NonNull MarketingMessageRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) AddsCustomerRefto theContentContextbased on the authentication and context info.fetchActiveOffersByIds(@NonNull Collection<String> offerIds, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Retrieves all active offers matching the passed ids.fetchMarketingMessagesForRequest(@NonNull MarketingMessageRequest request) Retrieves any marketing messages for the request.protected org.springframework.web.reactive.function.client.WebClientprotected com.broadleafcommerce.common.extension.intercommunication.ExternalClientprotected ExternalOfferProviderPropertiesprotected com.broadleafcommerce.common.extension.TypeFactorygetUrl()voidsetExternalClient(com.broadleafcommerce.common.extension.intercommunication.ExternalClient externalClient) voidsetMarketingMessagesUri(String marketingMessagesUri) voidsetOffersUri(String offersUri) voidsetProperties(ExternalOfferProviderProperties properties) voidsetServiceClient(String serviceClient) voidMethods inherited from class com.broadleafcommerce.catalogbrowse.service.provider.external.AbstractExternalProvider
getAuthenticationUtils, getExternalProviderProperties, getHeaders, getHeaders, getMapper, isCallerWhitelistedService, setAuthenticationUtils, setExternalProviderProperties
-
Constructor Details
-
ExternalOfferProvider
public ExternalOfferProvider(@Qualifier("catalogBrowseWebClient") org.springframework.web.reactive.function.client.WebClient catalogBrowseWebClient, com.fasterxml.jackson.databind.ObjectMapper mapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory)
-
-
Method Details
-
fetchMarketingMessagesForRequest
public MarketingMessageResponse fetchMarketingMessagesForRequest(@NonNull @NonNull MarketingMessageRequest request) Description copied from interface:OfferProviderRetrieves any marketing messages for the request.- Specified by:
fetchMarketingMessagesForRequestin interfaceOfferProvider- Parameters:
request- all the relevant information to be used to retrieve marketing messages- Returns:
- The marketing message for the parameters provided.
-
fetchActiveOffersByIds
public List<Offer> fetchActiveOffersByIds(@NonNull @NonNull Collection<String> offerIds, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:OfferProviderRetrieves all active offers matching the passed ids.- Specified by:
fetchActiveOffersByIdsin interfaceOfferProvider- Parameters:
offerIds- list of offer ids to fetchcontextInfo- information derived from the original request containing tenant and sandbox info- Returns:
- list of active offers matching the passed ids
-
addCustomerContext
protected void addCustomerContext(@NonNull @NonNull MarketingMessageRequest request, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) AddsCustomerRefto theContentContextbased on the authentication and context info.- Parameters:
request- TheMarketingMessageRequest.contextInfo- Additional tenant and sandbox info that may also include customer segment ids.
-
getUrl
-
getMarketingMessagesUri
-
getOffersUri
-
getServiceClient
-
setUrl
-
setMarketingMessagesUri
-
setOffersUri
-
setServiceClient
-
getCatalogBrowseWebClient
protected org.springframework.web.reactive.function.client.WebClient getCatalogBrowseWebClient() -
getTypeFactory
protected com.broadleafcommerce.common.extension.TypeFactory getTypeFactory() -
getProperties
-
setProperties
-
getExternalClient
protected com.broadleafcommerce.common.extension.intercommunication.ExternalClient getExternalClient() -
setExternalClient
@Autowired @Qualifier("browseOfferExternalClient") public void setExternalClient(com.broadleafcommerce.common.extension.intercommunication.ExternalClient externalClient)
-