Interface InventoryTransactionService<T extends InventoryTransaction>
- All Superinterfaces:
com.broadleafcommerce.data.tracking.core.service.CrudEntityService<T>
- All Known Implementing Classes:
DefaultInventoryTransactionService
public interface InventoryTransactionService<T extends InventoryTransaction>
extends com.broadleafcommerce.data.tracking.core.service.CrudEntityService<T>
Service to save and retrieve
InventoryTransaction
records.- Author:
- Kelly Tisdell (ktisdell)
-
Method Summary
Modifier and TypeMethodDescriptiondefault void
enhancedDelete
(String id, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) EssentiallyCrudEntityHelper.delete(java.lang.String, com.broadleafcommerce.data.tracking.core.context.ContextInfo, com.broadleafcommerce.data.tracking.core.TrackableRepository<com.broadleafcommerce.data.tracking.core.Trackable>)
that has been adapted to work withCustomizedInventoryTransactionRepository.enhancedFindByContextId(String, ContextInfo)
to support the INCLUDE_APPLICATION_ID_PREDICATE context attribute to ignore the application filtering.org.springframework.data.domain.Page<T>
enhancedReadByDateCreatedBeforeAndTransactionTypeIn
(Instant maxCreatedDate, Set<String> transactionTypes, org.springframework.data.domain.Pageable page, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Reads a page of inventory transactions created before a certain date and of certain transaction types.org.springframework.data.domain.Page<T>
readByBatchId
(String batchId, org.springframework.data.domain.Pageable page, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Reads a paginated list ofInventoryTransaction
records based on batchId.org.springframework.data.domain.Page<T>
readByDateCreatedBeforeAndTransactionTypeIn
(Instant maxCreatedDate, Set<String> transactionTypes, org.springframework.data.domain.Pageable page, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Reads a page of inventory transactions created before a certain date and of certain transaction types.readByReferenceNumberAndTransactionTypes
(String referenceNumber, Set<String> transactionTypes, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Returns a list ofInventoryTransaction
records for 1 or more transaction type with the same referenceNumber.readByReferenceNumbersAndTransactionTypes
(List<String> referenceNumbers, Set<String> transactionTypes, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Returns a list ofInventoryTransaction
records for 1 or more transaction type with for the given reference numbers.org.springframework.data.domain.Page<T>
readBySkuInventoryId
(String skuInventoryId, org.springframework.data.domain.Pageable page, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) ReadsInventoryTransaction
records bySkuInventory#getContextId()
.org.springframework.data.domain.Page<T>
readBySkuInventoryIdAndTransactionType
(String skuInventoryId, String transactionType, org.springframework.data.domain.Pageable page, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) readByTransactionTypeAndReferenceNumber
(String transactionType, String referenceNumber, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) ReadsInventoryTransaction
records byInventoryTransactionType
and a referenceNumber.readByTransactionTypeAndReferenceNumberAndDateProcessedIsNull
(String transactionType, String referenceNumber, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) ReadsInventoryTransaction
records byInventoryTransactionType
and a referenceNumber where the processed date is null.readReservationTransactionsBySkuInventoryIdAndReferenceNumber
(String skuInventoryId, String referenceNumber, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Returns a list ofInventoryTransaction
records that have 1 or more transaction types for the sameSkuInventory.getId()
and reference number.Methods inherited from interface com.broadleafcommerce.data.tracking.core.service.CrudEntityService
create, createAll, createAllAllowingPartialSuccess, delete, readAll, readAll, readAll, readAllByContextId, readByContextId, replace, replaceAll, replaceAllAllowingPartialSuccess, update, updateAll, updateAllAllowingPartialSuccess, updateSort
-
Method Details
-
readBySkuInventoryId
org.springframework.data.domain.Page<T> readBySkuInventoryId(@NonNull String skuInventoryId, @Nullable org.springframework.data.domain.Pageable page, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) ReadsInventoryTransaction
records bySkuInventory#getContextId()
.- Parameters:
skuInventoryId
-page
-contextInfo
-- Returns:
-
readBySkuInventoryIdAndTransactionType
org.springframework.data.domain.Page<T> readBySkuInventoryIdAndTransactionType(@NonNull String skuInventoryId, @NonNull String transactionType, @Nullable org.springframework.data.domain.Pageable page, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) - Parameters:
skuInventoryId
-transactionType
-page
-contextInfo
-- Returns:
- See Also:
-
readByTransactionTypeAndReferenceNumber
List<T> readByTransactionTypeAndReferenceNumber(@NonNull String transactionType, @NonNull String referenceNumber, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) ReadsInventoryTransaction
records byInventoryTransactionType
and a referenceNumber. The referenceNumber could be anything, but typically a unique identifier across a tenant (e.g. Fulfillment Group Item ID, Purchase Order Item ID, etc.)- Parameters:
transactionType
-referenceNumber
-contextInfo
-- Returns:
-
readByTransactionTypeAndReferenceNumberAndDateProcessedIsNull
List<T> readByTransactionTypeAndReferenceNumberAndDateProcessedIsNull(@NonNull String transactionType, @NonNull String referenceNumber, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) ReadsInventoryTransaction
records byInventoryTransactionType
and a referenceNumber where the processed date is null. The referenceNumber could be anything, but typically a sales order number, a PO number, or another document number. This allows you to search for records that have not been processed yet.- Parameters:
transactionType
-referenceNumber
-contextInfo
-- Returns:
-
readReservationTransactionsBySkuInventoryIdAndReferenceNumber
List<T> readReservationTransactionsBySkuInventoryIdAndReferenceNumber(@NonNull String skuInventoryId, @NonNull String referenceNumber, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Returns a list ofInventoryTransaction
records that have 1 or more transaction types for the sameSkuInventory.getId()
and reference number.- Parameters:
skuInventoryId
-referenceNumber
-contextInfo
-- Returns:
-
readByReferenceNumberAndTransactionTypes
List<T> readByReferenceNumberAndTransactionTypes(@NonNull String referenceNumber, @NonNull Set<String> transactionTypes, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Returns a list ofInventoryTransaction
records for 1 or more transaction type with the same referenceNumber.- Parameters:
referenceNumber
-transactionTypes
-contextInfo
-- Returns:
-
readByReferenceNumbersAndTransactionTypes
List<T> readByReferenceNumbersAndTransactionTypes(@NonNull List<String> referenceNumbers, @NonNull Set<String> transactionTypes, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Returns a list ofInventoryTransaction
records for 1 or more transaction type with for the given reference numbers.- Parameters:
referenceNumbers
- the reference numbers to search fortransactionTypes
- the transaction types to search forcontextInfo
- context information around sandbox and multitenant state- Returns:
- a list of
InventoryTransaction
records that have 1 or more transaction types for the given reference numbers
-
readByBatchId
org.springframework.data.domain.Page<T> readByBatchId(@NonNull String batchId, @Nullable org.springframework.data.domain.Pageable page, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Reads a paginated list ofInventoryTransaction
records based on batchId.- Parameters:
batchId
-page
-contextInfo
-- Returns:
-
readByDateCreatedBeforeAndTransactionTypeIn
org.springframework.data.domain.Page<T> readByDateCreatedBeforeAndTransactionTypeIn(Instant maxCreatedDate, Set<String> transactionTypes, @Nullable org.springframework.data.domain.Pageable page, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Reads a page of inventory transactions created before a certain date and of certain transaction types. -
enhancedReadByDateCreatedBeforeAndTransactionTypeIn
org.springframework.data.domain.Page<T> enhancedReadByDateCreatedBeforeAndTransactionTypeIn(Instant maxCreatedDate, Set<String> transactionTypes, @Nullable org.springframework.data.domain.Pageable page, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Reads a page of inventory transactions created before a certain date and of certain transaction types. This method supports the INCLUDE_APPLICATION_ID_PREDICATE context attribute to ignore the application filtering. SeeJpaInventoryTenantQueryHelper.buildContextFilters(com.broadleafcommerce.data.tracking.core.context.ContextInfo, jakarta.persistence.criteria.CriteriaQuery<D>, java.util.Map<java.lang.String, java.lang.Object>, jakarta.persistence.criteria.Root<D>, java.lang.Class<D>)
for more information.- Parameters:
maxCreatedDate
- Find transactions created before this date.transactionTypes
- Find transactions with one of the given transactionTypes.page
- Sublist of filtered transactions.contextInfo
- The contextInfo of the request.- Returns:
- Inventory transactions created before the given date, with one of the given statuses, belonging to any application of the tenant from the context.
-
enhancedDelete
default void enhancedDelete(@NonNull String id, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) EssentiallyCrudEntityHelper.delete(java.lang.String, com.broadleafcommerce.data.tracking.core.context.ContextInfo, com.broadleafcommerce.data.tracking.core.TrackableRepository<com.broadleafcommerce.data.tracking.core.Trackable>)
that has been adapted to work withCustomizedInventoryTransactionRepository.enhancedFindByContextId(String, ContextInfo)
to support the INCLUDE_APPLICATION_ID_PREDICATE context attribute to ignore the application filtering. SeeJpaInventoryTenantQueryHelper.buildContextFilters(com.broadleafcommerce.data.tracking.core.context.ContextInfo, jakarta.persistence.criteria.CriteriaQuery<D>, java.util.Map<java.lang.String, java.lang.Object>, jakarta.persistence.criteria.Root<D>, java.lang.Class<D>)
for more information.- Parameters:
id
- The ID of theInventoryTransaction
to delete (archive).context
- The context of the request.
-