From a7ca905be9e557b84b9db1d1e31713a7e149939c Mon Sep 17 00:00:00 2001 From: erikb Date: Mon, 23 Dec 2024 10:39:44 +0100 Subject: [PATCH] =?UTF-8?q?speed=20up=20sp=C3=B8rring=20for=20=C3=A5=20hen?= =?UTF-8?q?te=20varsler=20som=20skal=20sendes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../brukernotifikasjon/varsel/VarselDAO.java | 37 +++++++++++++------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/src/main/java/no/nav/veilarbaktivitet/brukernotifikasjon/varsel/VarselDAO.java b/src/main/java/no/nav/veilarbaktivitet/brukernotifikasjon/varsel/VarselDAO.java index e054717d0..099ed91ed 100644 --- a/src/main/java/no/nav/veilarbaktivitet/brukernotifikasjon/varsel/VarselDAO.java +++ b/src/main/java/no/nav/veilarbaktivitet/brukernotifikasjon/varsel/VarselDAO.java @@ -58,18 +58,31 @@ public List hentVarselSomSkalSendes(int maxAntall) { return jdbcTemplate .query(""" - select ID, BRUKERNOTIFIKASJON_ID, MELDING, OPPFOLGINGSPERIODE, FOEDSELSNUMMER, TYPE, SMSTEKST, EPOSTTITTEL, EPOSTBODY, URL - from BRUKERNOTIFIKASJON B - where STATUS = 'PENDING' - and not exists( - Select * from AKTIVITET A - inner join AKTIVITET_BRUKERNOTIFIKASJON AB on A.AKTIVITET_ID = AB.AKTIVITET_ID - where AB.BRUKERNOTIFIKASJON_ID = B.ID - and A.GJELDENDE = 1 - and TYPE in ('STILLING_FRA_NAV', 'FORHAANDSORENTERING') - and (A.HISTORISK_DATO is not null or A.LIVSLOPSTATUS_KODE in('FULLFORT', 'AVBRUTT')) - ) - limit :limit + SELECT + B.ID, + B.BRUKERNOTIFIKASJON_ID, + B.MELDING, + B.OPPFOLGINGSPERIODE, + B.FOEDSELSNUMMER, + B.TYPE, + B.SMSTEKST, + B.EPOSTTITTEL, + B.EPOSTBODY, + B.URL + FROM + BRUKERNOTIFIKASJON B + LEFT JOIN + AKTIVITET_BRUKERNOTIFIKASJON AB ON B.ID = AB.BRUKERNOTIFIKASJON_ID + LEFT JOIN + AKTIVITET A ON A.AKTIVITET_ID = AB.AKTIVITET_ID + AND A.GJELDENDE = 1 + AND B.TYPE IN ('STILLING_FRA_NAV', 'FORHAANDSORENTERING') + AND (A.HISTORISK_DATO IS NOT NULL + OR A.LIVSLOPSTATUS_KODE IN('FULLFORT', 'AVBRUTT')) + WHERE + B.STATUS = 'PENDING' AND + A.AKTIVITET_ID IS NULL + LIMIT :limit; """, parameterSource, rowMapper); }