Class DefaultCodeUsabilityService

    • 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: CodeUsabilityService
        Checks the usability of the provided campaignCode by:
        • 1. Determine any related CampaignCode for 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:
        getCodeUsability in interface CodeUsabilityService
        Parameters:
        campaignCode - The code to check usability against.
        context - context information around sandboxing and multitenant state
        Returns:
        a CampaignCodeUsabilityInfo which contains a boolean to tell if the code can be used and a detailed structure informing on the code usage.
      • 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)