fix betreft opslaan van al bestaande vacatures

This commit is contained in:
2025-01-21 21:20:45 +01:00
parent dea9c2eb27
commit 6f9349b13c
2 changed files with 17 additions and 15 deletions

View File

@@ -17,7 +17,6 @@ import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@ApplicationScoped
public class VacatureService {
@@ -38,7 +37,7 @@ public class VacatureService {
private static final Logger logger = Logger.getLogger(VacatureService.class);
private final String className = this.getClass().getName();
private final String className = this.getClass().getSimpleName();
public List<Vacature> getServices() throws IOException {
eventService.logInfo(VacatureService.class.getName(), "getServices", "getServices aangeroepen");
@@ -53,7 +52,6 @@ public class VacatureService {
logger.info("Checking for new vacatures");
eventService.logInfo(className, "checkAndSendNewVacatures", "Checking for new vacatures");
LocalDate today = LocalDate.now();
LocalDate yesterday = today.minusDays(1);
// Scrape de nieuwste vacatures
String url = "https://www.meesterbaan.nl/vacatures/50-km?trefwoord=duits&locatie=Apeldoorn";
@@ -71,26 +69,28 @@ public class VacatureService {
});
// Haal de vacatures van gisteren op
List<Vacature> yesterdayVacatures = vacatureRepository.findByDate(yesterday);
List<Vacature> yesterdayVacatures = vacatureRepository.findAll().stream().toList();
// Filter nieuwe vacatures
List<Vacature> newVacatures = todayVacatures.stream()
.filter(vacature -> yesterdayVacatures.stream()
.noneMatch(yv -> yv.getTitel().equals(vacature.getTitel()) && yv.getUrl().equals(vacature.getUrl())))
.collect(Collectors.toList());
System.out.println(todayVacatures.size());
System.out.println(yesterdayVacatures.size());
todayVacatures.removeIf(a -> yesterdayVacatures.stream().anyMatch(b -> b.getUrl().equals(a.getUrl())));
System.out.println(todayVacatures.size());
// Alleen nieuwe vacatures opslaan en versturen
if (!newVacatures.isEmpty()) {
if (!todayVacatures.isEmpty()) {
// Sla de nieuwe vacatures op
newVacatures.forEach(vacature -> {
todayVacatures.forEach(vacature -> {
vacature.setDatum(today);
vacatureDetailRepository.persist(vacature.getDetail());
vacatureRepository.persist(vacature);
});
// Verstuur een e-mail
emailService.stuurVacatureEmail("danthefranken@gmail.com", newVacatures);
emailService.stuurVacatureEmail("vanveenmel11@gmail.com", newVacatures);
emailService.stuurVacatureEmail("danthefranken@gmail.com", todayVacatures);
emailService.stuurVacatureEmail("vanveenmel11@gmail.com", todayVacatures);
logger.info("Nieuwe vacatures verstuurd en opgeslagen.");
eventService.logSucces(className, "checkAndSendNewVacatures", "Nieuwe vacatures verstuurd en opgeslagen.");
} else {

View File

@@ -4,7 +4,7 @@ quarkus.mailer.host=${MAILER_HOST}
quarkus.mailer.port=${MAILER_PORT}
quarkus.mailer.username=${MAILER_USERNAME}
quarkus.mailer.password=${MAILER_PASSWORD}
quarkus.mailer.mock=false
quarkus.mailer.mock=true
# PostgreSQL configuratie
quarkus.datasource.db-kind=postgresql
@@ -12,8 +12,10 @@ quarkus.datasource.jdbc.url=jdbc:postgresql://${DB_HOST}:${DB_PORT}/vacaturesdb
quarkus.datasource.username=${DB_USERNAME}
quarkus.datasource.password=${DB_PASSWORD}
quarkus.hibernate-orm.database.generation=update
quarkus.hibernate-orm.log.sql=true
quarkus.hibernate-orm.sql-load-script=no-file
quarkus.hibernate-orm.log.highlight-sql=false
quarkus.hibernate-orm.log.sql=false
# CORS configuratie
quarkus.http.cors=true