All Known Implementing Classes:
DefaultSubscriptionFinderService

public interface SubscriptionFinder<Q extends SubscriptionWithItemsAndAdjustments>
  • Method Details

    • findSubscriptionsByStatusAndBillingOperationStatus

      @Deprecated(since="1.0.0") default List<Q> findSubscriptionsByStatusAndBillingOperationStatus(Date nextBillDate, Integer recordLimit)
    • findActiveOrPausedSubscriptionsAndBillDateOrStatusChangeDateBefore

      List<Q> findActiveOrPausedSubscriptionsAndBillDateOrStatusChangeDateBefore(Date nextBillDate, Integer recordLimit, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Find subscriptions with SubscriptionStatusEnum.ACTIVE or SubscriptionStatusEnum.PAUSED subscriptionStatus, the nextBillDate before the provided date or null and the statusChangeDate before the provided date, and their lastBillingOperationStatus PaymentStatusEnum.SUCCESS, PaymentStatusEnum.ABORTED, or null. The last clause prevents double-processing of a given subscription by multiple concurrent jobs.

      Then, pull their items and adjustments into the wrapper object.

      Parameters:
      nextBillDate -
      recordLimit -
      contextInfo -
      Returns:
      list of subscriptions
    • findActiveOrPausedSubscriptionsAndBillDateOrStatusChangeDateOrEndOfTermDateBefore

      List<Q> findActiveOrPausedSubscriptionsAndBillDateOrStatusChangeDateOrEndOfTermDateBefore(Date nextBillDate, Integer recordLimit, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Find subscriptions with SubscriptionStatusEnum.ACTIVE or SubscriptionStatusEnum.PAUSED subscriptionStatus, the nextBillDate before the provided date or the statusChangeDate before the provided date or the endOfTermDate before the provided date, and their lastBillingOperationStatus PaymentStatusEnum.SUCCESS, PaymentStatusEnum.ABORTED, or null. The last clause prevents double-processing of a given subscription by multiple concurrent jobs.

      Then, pull their items and adjustments into the wrapper object.

      Parameters:
      nextBillDate -
      recordLimit -
      contextInfo -
      Returns:
      list of subscriptions
    • findActiveOrPausedSubscriptionsAndBillDateOrStatusChangeDateOrEndOfTermDateBefore

      org.springframework.data.domain.Page<Q> findActiveOrPausedSubscriptionsAndBillDateOrStatusChangeDateOrEndOfTermDateBefore(Date nextBillDate, org.springframework.data.domain.Pageable pageable, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Find subscriptions with SubscriptionStatusEnum.ACTIVE or SubscriptionStatusEnum.PAUSED subscriptionStatus, the nextBillDate before the provided date or the statusChangeDate before the provided date or the endOfTermDate before the provided date, and their lastBillingOperationStatus PaymentStatusEnum.SUCCESS, PaymentStatusEnum.ABORTED, or null. The last clause prevents double-processing of a given subscription by multiple concurrent jobs.

      Then, pull their items and adjustments into the wrapper object.

      Parameters:
      nextBillDate - next bill date
      pageable - Describes the page of results to return
      contextInfo - context information surrounding sandboxing and multitenant state
      Returns:
      A Page of subscriptions