daily cleanup + OfferDto.toString
This commit is contained in:
parent
ef2b9a8646
commit
98c44b7e14
@ -13,8 +13,10 @@ import java.util.List;
|
|||||||
@ToString(onlyExplicitlyIncluded = true)
|
@ToString(onlyExplicitlyIncluded = true)
|
||||||
public class OfferDto {
|
public class OfferDto {
|
||||||
|
|
||||||
|
@ToString.Include
|
||||||
private final long id;
|
private final long id;
|
||||||
|
|
||||||
|
@ToString.Include
|
||||||
private final long version;
|
private final long version;
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@ -31,12 +33,14 @@ public class OfferDto {
|
|||||||
private final boolean remember;
|
private final boolean remember;
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
|
@ToString.Include
|
||||||
private final String articleId;
|
private final String articleId;
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
private final ZonedDateTime articleDate;
|
private final ZonedDateTime articleDate;
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
|
@ToString.Include
|
||||||
private final String title;
|
private final String title;
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
|
|||||||
@ -4,25 +4,33 @@ import de.ph87.kleinanzeigen.kleinanzeigen.FetchResult;
|
|||||||
import de.ph87.kleinanzeigen.kleinanzeigen.MergeResult;
|
import de.ph87.kleinanzeigen.kleinanzeigen.MergeResult;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.context.ApplicationEventPublisher;
|
||||||
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||||
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.time.ZonedDateTime;
|
import java.time.ZonedDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@Transactional
|
@Transactional
|
||||||
|
@EnableScheduling
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class OfferService {
|
public class OfferService {
|
||||||
|
|
||||||
private final OfferRepository repository;
|
private final OfferRepository repository;
|
||||||
|
|
||||||
public List<OfferDto> cleanUp() {
|
private final ApplicationEventPublisher publisher;
|
||||||
|
|
||||||
|
@Scheduled(initialDelay = 1, fixedRate = 1, timeUnit = TimeUnit.DAYS)
|
||||||
|
public void cleanUp() {
|
||||||
final List<Offer> list = repository.findAllByExpiryBefore(ZonedDateTime.now());
|
final List<Offer> list = repository.findAllByExpiryBefore(ZonedDateTime.now());
|
||||||
repository.deleteAll(list);
|
repository.deleteAll(list);
|
||||||
return list.stream().map(offer -> toDto(offer, false)).toList();
|
list.stream().map(offer -> toDto(offer, false)).forEach(publisher::publishEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
private OfferDto toDto(final Offer offer, final boolean existing) {
|
private OfferDto toDto(final Offer offer, final boolean existing) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user