Class ExternalCampaignProvider
- java.lang.Object
-
- com.broadleafcommerce.cartoperation.service.provider.external.AbstractExternalProvider
-
- com.broadleafcommerce.cartoperation.service.provider.external.ExternalCampaignProvider
-
- All Implemented Interfaces:
CampaignProvider
public class ExternalCampaignProvider extends AbstractExternalProvider implements CampaignProvider
- Author:
- Chad Harchar (charchar)
-
-
Constructor Summary
Constructors Constructor Description ExternalCampaignProvider(org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, ExternalCampaignProperties properties)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected String
getServiceClient()
Optional<String>
retrieveTrackingIdForUsableCode(String code, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Determine a tracking id for the provided code string, or else an empty string.com.broadleafcommerce.promotion.campaign.client.web.context.CampaignCodeUsageValidationResult
validateCampaignCodeUsages(com.broadleafcommerce.cart.client.domain.Cart cart, List<String> campaignCodes, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Retrieve validation information regarding the cart's usage of the provided campaign codes to determine if the usage is still valid.-
Methods inherited from class com.broadleafcommerce.cartoperation.service.provider.external.AbstractExternalProvider
executeRequest, getHeaders, getObjectMapper, getTypeFactory, getWebClient, pageableToParams, uriVars
-
-
-
-
Constructor Detail
-
ExternalCampaignProvider
public ExternalCampaignProvider(org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, ExternalCampaignProperties properties)
-
-
Method Detail
-
retrieveTrackingIdForUsableCode
public Optional<String> retrieveTrackingIdForUsableCode(String code, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Description copied from interface:CampaignProvider
Determine a tracking id for the provided code string, or else an empty string.- Specified by:
retrieveTrackingIdForUsableCode
in interfaceCampaignProvider
- Parameters:
code
- The provided code from which to retrieve a tracking id.contextInfo
- Context information around sandbox and multitenant state.- Returns:
- A tracking id for the provided code string, or else an empty string.
-
validateCampaignCodeUsages
public com.broadleafcommerce.promotion.campaign.client.web.context.CampaignCodeUsageValidationResult validateCampaignCodeUsages(com.broadleafcommerce.cart.client.domain.Cart cart, List<String> campaignCodes, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Description copied from interface:CampaignProvider
Retrieve validation information regarding the cart's usage of the provided campaign codes to determine if the usage is still valid.- Specified by:
validateCampaignCodeUsages
in interfaceCampaignProvider
- Parameters:
cart
- The cart against which to validate code uses.campaignCodes
- The codes to check for validity.contextInfo
- Context information around sandbox and multitenant state.- Returns:
- A validation result that holds information about which campaign code usages are invalid and why.
-
getServiceClient
protected String getServiceClient()
-
-