Class JpaAlternateLifecycleSharedCodeAuditSummaryRepository<D extends JpaSharedCodeAuditSummary>

java.lang.Object
com.broadleafcommerce.promotion.offer.provider.jpa.repository.JpaAlternateLifecycleSharedCodeAuditSummaryRepository<D>
All Implemented Interfaces:
AlternateLifecycleSharedCodeAuditSummaryRepository<D>

public class JpaAlternateLifecycleSharedCodeAuditSummaryRepository<D extends JpaSharedCodeAuditSummary> extends Object implements AlternateLifecycleSharedCodeAuditSummaryRepository<D>
  • Constructor Details

    • JpaAlternateLifecycleSharedCodeAuditSummaryRepository

      public JpaAlternateLifecycleSharedCodeAuditSummaryRepository(org.springframework.transaction.support.TransactionTemplate template, org.springframework.core.env.Environment environment)
    • JpaAlternateLifecycleSharedCodeAuditSummaryRepository

      public JpaAlternateLifecycleSharedCodeAuditSummaryRepository(org.springframework.transaction.support.TransactionTemplate template, String suffix)
  • Method Details

    • findAllByOfferCodeIdIn

      public List<D> findAllByOfferCodeIdIn(@NonNull Set<String> offerCodeIds, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Override the default spring handling for the query method.

      Possible that multiple instances for the same offer code exist (e.g. in active/active datacenter scenarios with replication). If detected, collapse the results returned under a single summary per offer code that matches the current context.
      Parameters:
      offerCodeIds - The offer codes associated with the target summaries
      contextInfo - The tenant information for the request context
      Returns:
      Any collapsed summaries associated with the offer codes
    • findByOfferCodeId

      @Nullable public D findByOfferCodeId(@NonNull String offerCodeId, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Override the default spring handling for the query method.

      Possible that multiple instances for the same offer code exist (e.g. in active/active datacenter scenarios with replication). If detected, collapse the results returned under a single summary that matches the current context.
      Parameters:
      offerCodeId - The offer code associated with the target summary
      contextInfo - The tenant information for the request context
      Returns:
      Any collapsed summaries associated with the offer codes
    • createOrUpdateAndIncrement

      public D createOrUpdateAndIncrement(String offerCodeId, String offerCode, @Nullable javax.money.MonetaryAmount totalSavings, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: AlternateLifecycleSharedCodeAuditSummaryRepository
      Create an instance of SharedCodeAuditSummary, or atomically update an existing one. This flow also will not end up creating duplicate summaries for the same code.
      Specified by:
      createOrUpdateAndIncrement in interface AlternateLifecycleSharedCodeAuditSummaryRepository<D extends JpaSharedCodeAuditSummary>
      Parameters:
      offerCodeId - The id of the related code
      offerCode - The string value of the related code
      totalSavings - The total savings applied to record for this code
      contextInfo - Any tenant related information for the request context
      Returns:
      The created or updated summary
    • handleConstraintViolation

      protected void handleConstraintViolation(@Nullable javax.money.MonetaryAmount totalSavings, org.springframework.transaction.TransactionStatus status, String id)
    • getEntityClass

      @Deprecated(forRemoval=true, since="3.0.3, 3.1.0") @NotNull protected @NotNull Class<D> getEntityClass()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Method had a hardcoded entity reference that prevents from accepting extended entities, use getManagedType() instead.
    • getManagedType

      protected Class<D> getManagedType()
    • narrowResult

      @Nullable protected D narrowResult(String offerCodeId, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, List<D> results)
    • setRepositoryEntityTypeManager

      @Autowired @Lazy public void setRepositoryEntityTypeManager(com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager repositoryEntityTypeManager)
    • getRepositoryEntityTypeManager

      protected com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager getRepositoryEntityTypeManager()
    • setRepository

      @Autowired @Lazy public void setRepository(JpaSharedCodeAuditSummaryRepository<D> repository)
    • getRepository

      protected JpaSharedCodeAuditSummaryRepository<D> getRepository()
    • getJpaPromotionQueryHelper

      protected JpaPromotionQueryHelper getJpaPromotionQueryHelper()
    • setJpaPromotionQueryHelper

      @Autowired public void setJpaPromotionQueryHelper(JpaPromotionQueryHelper jpaPromotionQueryHelper)