diff --git a/src/main/java/fr/titionfire/ffsaf/domain/service/MembreService.java b/src/main/java/fr/titionfire/ffsaf/domain/service/MembreService.java index 3e044f7..6191526 100644 --- a/src/main/java/fr/titionfire/ffsaf/domain/service/MembreService.java +++ b/src/main/java/fr/titionfire/ffsaf/domain/service/MembreService.java @@ -21,6 +21,7 @@ import io.quarkus.hibernate.reactive.panache.PanacheQuery; import io.quarkus.hibernate.reactive.panache.common.WithSession; import io.quarkus.panache.common.Page; import io.quarkus.panache.common.Sort; +import io.quarkus.scheduler.Scheduled; import io.quarkus.vertx.VertxContextSupport; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.unchecked.Unchecked; @@ -466,6 +467,17 @@ public class MembreService { .map(__ -> meData); } + @Scheduled(cron = "0 20 16 * * ?") + Uni everySecond() { // TODO change this + return repository.list("birth_date IS NOT NULL") + .chain(l -> Uni.join().all(l.stream().map(m -> { + System.out.println("Cat update for " + m.getObjectName()); + m.setCategorie(Utils.getCategoryFormBirthDate(m.getBirth_date(), new Date())); + return Panache.withTransaction(() -> repository.persist(m)); + }).toList()).andCollectFailures()) + .map(__ -> null); + } + public Uni getLicencePdf(String subject) { return getLicencePdf(repository.find("userId = ?1", subject).firstResult() .call(m -> Mutiny.fetch(m.getLicences())));