Class DefaultCodeUsabilityService
- java.lang.Object
-
- com.broadleafcommerce.promotion.campaign.service.DefaultCodeUsabilityService
-
- All Implemented Interfaces:
CodeUsabilityService
public class DefaultCodeUsabilityService extends Object implements CodeUsabilityService
- Author:
- Chad Harchar (charchar)
-
-
Field Summary
Fields Modifier and Type Field Description protected CampaignCodeAuditDetailService<CampaignCodeAuditDetail>campaignCodeAuditDetailServiceprotected CampaignCodeService<CampaignCode>campaignCodeServiceprotected CampaignService<Campaign>campaignServiceprotected com.broadleafcommerce.common.extension.TypeFactorytypeFactory
-
Constructor Summary
Constructors Constructor Description DefaultCodeUsabilityService(CampaignCodeService<CampaignCode> campaignCodeService, CampaignService<Campaign> campaignService, CampaignCodeAuditDetailService<CampaignCodeAuditDetail> campaignCodeAuditDetailService, com.broadleafcommerce.common.extension.TypeFactory typeFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.broadleafcommerce.promotion.campaign.client.web.context.CampaignCodeUsagegetCampaignCodeUsage(com.broadleafcommerce.data.tracking.core.context.ContextInfo context, com.broadleafcommerce.promotion.campaign.client.web.context.CampaignCodeUsabilityInfo codeUsability, CampaignCode code)com.broadleafcommerce.promotion.campaign.client.web.context.CampaignCodeUsabilityInfogetCodeUsability(String campaignCode, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)Checks the usability of the providedcampaignCodeby: 1.
-
-
-
Field Detail
-
campaignCodeService
protected final CampaignCodeService<CampaignCode> campaignCodeService
-
campaignService
protected final CampaignService<Campaign> campaignService
-
campaignCodeAuditDetailService
protected final CampaignCodeAuditDetailService<CampaignCodeAuditDetail> campaignCodeAuditDetailService
-
typeFactory
protected final com.broadleafcommerce.common.extension.TypeFactory typeFactory
-
-
Constructor Detail
-
DefaultCodeUsabilityService
public DefaultCodeUsabilityService(CampaignCodeService<CampaignCode> campaignCodeService, CampaignService<Campaign> campaignService, CampaignCodeAuditDetailService<CampaignCodeAuditDetail> campaignCodeAuditDetailService, com.broadleafcommerce.common.extension.TypeFactory typeFactory)
-
-
Method Detail
-
getCodeUsability
@NonNull public com.broadleafcommerce.promotion.campaign.client.web.context.CampaignCodeUsabilityInfo getCodeUsability(@NonNull String campaignCode, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)Description copied from interface:CodeUsabilityServiceChecks the usability of the providedcampaignCodeby:- 1. Determine any related
CampaignCodefor the provided string. - 2. Count the number of times that campaign code has been used by querying against related
CampaignCodeAuditDetail. - 3. Add the corresponding
Campaign#getTrackingIdentifier()for the campaign code to the structure. - 4. If there are any usable codes, set
CampaignCodeUsabilityType.USABLE.
- Specified by:
getCodeUsabilityin interfaceCodeUsabilityService- Parameters:
campaignCode- The code to check usability against.context- context information around sandboxing and multitenant state- Returns:
- a
CampaignCodeUsabilityInfowhich contains a boolean to tell if the code can be used and a detailed structure informing on the code usage.
- 1. Determine any related
-
getCampaignCodeUsage
public com.broadleafcommerce.promotion.campaign.client.web.context.CampaignCodeUsage getCampaignCodeUsage(com.broadleafcommerce.data.tracking.core.context.ContextInfo context, com.broadleafcommerce.promotion.campaign.client.web.context.CampaignCodeUsabilityInfo codeUsability, CampaignCode code)
-
-