Class JpaCustomizedPriceDataUsageDetailRepository<D extends JpaPriceDataUsageDetail>
java.lang.Object
com.broadleafcommerce.pricing.provider.jpa.repository.JpaCustomizedPriceDataUsageDetailRepository<D>
- Type Parameters:
D
- a class that extends JpaPriceDataUsageDetail
- All Implemented Interfaces:
CustomizedPriceDataUsageDetailRepository<D>
,org.springframework.beans.factory.InitializingBean
public class JpaCustomizedPriceDataUsageDetailRepository<D extends JpaPriceDataUsageDetail>
extends Object
implements CustomizedPriceDataUsageDetailRepository<D>, org.springframework.beans.factory.InitializingBean
Repository fragment for
JpaPriceDataUsageDetailRepository
that includes custom JPA query
methods.- Author:
- karanjariwala
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionJpaCustomizedPriceDataUsageDetailRepository
(com.broadleafcommerce.data.tracking.core.TrackableBehaviorUtil behaviorUtil, com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaFiltersCriteriaBuilder criteriaBuilder, com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager repositoryEntityTypeManager) -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
archiveAllByIds
(Collection<String> priceDataUsageDetailIds, String archivalReason, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Archive multiplePriceDataUsageDetails
by ids.protected jakarta.persistence.criteria.Predicate
buildArchivedIsFalseFilter
(jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder, jakarta.persistence.criteria.Root<? extends com.broadleafcommerce.data.tracking.core.Trackable> entity) protected jakarta.persistence.criteria.Predicate
buildTenantIdIsEqualToFilter
(String tenantId, Map<String, Object> queryParams, jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder, jakarta.persistence.criteria.Root<? extends com.broadleafcommerce.data.tracking.core.Trackable> entity) int
deletePriceDataUsageDetailsOlderThan
(@NonNull Instant dateBefore, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deletes allPriceDataUsageDetails
whosePriceDataUsageDetail.getUsageDate()
is older thandateBefore
.org.springframework.data.domain.Page<D>
findAllByRevertibleAndUsageDateBefore
(Instant usageDateBefore, org.springframework.data.domain.Pageable page, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Fetches a page ofPriceDataUsageDetail
that are "revertible"(revertible=true) and before the specified dateprotected com.broadleafcommerce.data.tracking.core.TrackableBehaviorUtil
protected com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaFiltersCriteriaBuilder
protected com.broadleafcommerce.data.tracking.jpa.filtering.narrow.JpaNarrowingHelper
protected PriceDataUsageDetailRepository<D>
protected com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager
void
markRevertibleAllByIds
(Collection<String> priceDataUsageDetailIds, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) void
setRepository
(PriceDataUsageDetailRepository<D> repository) void
updateRevertibleByReferenceId
(String transactionReferenceType, String transactionReferenceId, Boolean revertible, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
-
Field Details
-
PRICE_DATA_USAGE_DETAIL_ID
- See Also:
-
ARCHIVAL_REASON
- See Also:
-
USAGE_DATE
- See Also:
-
REVERTIBLE
- See Also:
-
TRANSACTION_REFERENCE_TYPE
- See Also:
-
TRANSACTION_REFERENCE_ID
- See Also:
-
-
Constructor Details
-
JpaCustomizedPriceDataUsageDetailRepository
public JpaCustomizedPriceDataUsageDetailRepository(com.broadleafcommerce.data.tracking.core.TrackableBehaviorUtil behaviorUtil, com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaFiltersCriteriaBuilder criteriaBuilder, com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager repositoryEntityTypeManager)
-
-
Method Details
-
afterPropertiesSet
public void afterPropertiesSet()- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
-
setRepository
-
findAllByRevertibleAndUsageDateBefore
public org.springframework.data.domain.Page<D> findAllByRevertibleAndUsageDateBefore(Instant usageDateBefore, @Nullable org.springframework.data.domain.Pageable page, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:CustomizedPriceDataUsageDetailRepository
Fetches a page ofPriceDataUsageDetail
that are "revertible"(revertible=true) and before the specified date- Specified by:
findAllByRevertibleAndUsageDateBefore
in interfaceCustomizedPriceDataUsageDetailRepository<D extends JpaPriceDataUsageDetail>
- Parameters:
usageDateBefore
- - the date(instant) before usageDatepage
- - page infocontextInfo
- - the context info- Returns:
- the page of
PriceDataUsageDetail
-
archiveAllByIds
@Transactional("pricingTransactionManager") public void archiveAllByIds(Collection<String> priceDataUsageDetailIds, String archivalReason, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:CustomizedPriceDataUsageDetailRepository
Archive multiplePriceDataUsageDetails
by ids.- Specified by:
archiveAllByIds
in interfaceCustomizedPriceDataUsageDetailRepository<D extends JpaPriceDataUsageDetail>
- Parameters:
priceDataUsageDetailIds
- the ids of priceDataUsageDetail to archivalarchivalReason
- the reason for archivalcontextInfo
- the context info- See Also:
-
updateRevertibleByReferenceId
@Transactional("pricingTransactionManager") public void updateRevertibleByReferenceId(String transactionReferenceType, String transactionReferenceId, Boolean revertible, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) - Specified by:
updateRevertibleByReferenceId
in interfaceCustomizedPriceDataUsageDetailRepository<D extends JpaPriceDataUsageDetail>
-
markRevertibleAllByIds
@Transactional("pricingTransactionManager") public void markRevertibleAllByIds(Collection<String> priceDataUsageDetailIds, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) - Specified by:
markRevertibleAllByIds
in interfaceCustomizedPriceDataUsageDetailRepository<D extends JpaPriceDataUsageDetail>
-
deletePriceDataUsageDetailsOlderThan
@Transactional("pricingTransactionManager") public int deletePriceDataUsageDetailsOlderThan(@NonNull @NonNull Instant dateBefore, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:CustomizedPriceDataUsageDetailRepository
Deletes allPriceDataUsageDetails
whosePriceDataUsageDetail.getUsageDate()
is older thandateBefore
.Used for cleanup of obsolete data
- Specified by:
deletePriceDataUsageDetailsOlderThan
in interfaceCustomizedPriceDataUsageDetailRepository<D extends JpaPriceDataUsageDetail>
- Parameters:
dateBefore
- the time instant before which the records are to be deleted/purgedcontextInfo
- the context info- Returns:
- the number of records deleted
-
buildTenantIdIsEqualToFilter
protected jakarta.persistence.criteria.Predicate buildTenantIdIsEqualToFilter(@Nullable String tenantId, Map<String, Object> queryParams, jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder, jakarta.persistence.criteria.Root<? extends com.broadleafcommerce.data.tracking.core.Trackable> entity) -
buildArchivedIsFalseFilter
protected jakarta.persistence.criteria.Predicate buildArchivedIsFalseFilter(jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder, jakarta.persistence.criteria.Root<? extends com.broadleafcommerce.data.tracking.core.Trackable> entity) -
getManagedType
-
getJpaNarrowingHelper
protected com.broadleafcommerce.data.tracking.jpa.filtering.narrow.JpaNarrowingHelper getJpaNarrowingHelper() -
getRepository
-
getBehaviorUtil
protected com.broadleafcommerce.data.tracking.core.TrackableBehaviorUtil getBehaviorUtil() -
getCriteriaBuilder
protected com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaFiltersCriteriaBuilder getCriteriaBuilder() -
getRepositoryEntityTypeManager
protected com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager getRepositoryEntityTypeManager()
-