diff --git a/src/main/kotlin/com/bitclave/node/services/v1/OfferSearchService.kt b/src/main/kotlin/com/bitclave/node/services/v1/OfferSearchService.kt index 05008eeb..12a11394 100644 --- a/src/main/kotlin/com/bitclave/node/services/v1/OfferSearchService.kt +++ b/src/main/kotlin/com/bitclave/node/services/v1/OfferSearchService.kt @@ -1077,13 +1077,15 @@ class OfferSearchService( } fun deleteByOfferIds(ids: List, strategy: RepositoryStrategyType) { + offerSearchRepository.changeStrategy(strategy).deleteAllByOfferIds(ids) - val filteredStateIds = ids.map { offerId -> - offerInteractionRepository.changeStrategy(strategy) - .findByOfferId(offerId) - .filter { it.state == OfferAction.NONE || it.state == OfferAction.REJECT } - .map { it.id } - }.flatten() + + val filteredStateIds = offerInteractionRepository + .changeStrategy(strategy) + .findByOfferIdIn(ids) + .filter { it.state == OfferAction.NONE || it.state == OfferAction.REJECT } + .map { it.id } + offerInteractionRepository.changeStrategy(strategy).delete(filteredStateIds) } diff --git a/src/main/kotlin/com/bitclave/node/services/v1/OfferService.kt b/src/main/kotlin/com/bitclave/node/services/v1/OfferService.kt index 65125f23..54da1901 100644 --- a/src/main/kotlin/com/bitclave/node/services/v1/OfferService.kt +++ b/src/main/kotlin/com/bitclave/node/services/v1/OfferService.kt @@ -126,8 +126,9 @@ class OfferService( val existedOffers = existedOffersByIds.map { it.id to it }.toMap() val readyForSaveOffers = offers.map { - val id = if (existedOffers.containsKey(it.id)) it.id else 0 - val createdAt = if (id != 0L) existedOffers[id]?.createdAt ?: Date() else Date() + val offer = existedOffers[it.id] + val id = offer?.id ?: 0 + val createdAt = offer?.createdAt ?: Date() Offer( id,