From 9e70ad840aa3650f670a7e19109680237e66aa2b Mon Sep 17 00:00:00 2001 From: Jens-Otto Larsen Date: Mon, 17 Jun 2024 19:48:03 +0200 Subject: [PATCH] =?UTF-8?q?M=C3=A5=20beholde=20FoedselV1=20s=C3=A5=20lenge?= =?UTF-8?q?=20VTP=20sender=20hendelser?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PdlLeesahHendelseH\303\245ndterer.java" | 31 +++---------------- .../pdl/kafka/PdlLeesahOversetter.java | 13 +------- ...dlLeesahHendelseH\303\245ndtererTest.java" | 12 ++++--- 3 files changed, 12 insertions(+), 44 deletions(-) diff --git "a/domene/src/main/java/no/nav/foreldrepenger/abonnent/pdl/kafka/PdlLeesahHendelseH\303\245ndterer.java" "b/domene/src/main/java/no/nav/foreldrepenger/abonnent/pdl/kafka/PdlLeesahHendelseH\303\245ndterer.java" index 6cc31dcc..9f6d483d 100644 --- "a/domene/src/main/java/no/nav/foreldrepenger/abonnent/pdl/kafka/PdlLeesahHendelseH\303\245ndterer.java" +++ "b/domene/src/main/java/no/nav/foreldrepenger/abonnent/pdl/kafka/PdlLeesahHendelseH\303\245ndterer.java" @@ -3,14 +3,12 @@ import static io.confluent.kafka.serializers.KafkaAvroDeserializerConfig.SPECIFIC_AVRO_READER_CONFIG; import static no.nav.foreldrepenger.abonnent.pdl.kafka.PdlLeesahOversetter.DØD; import static no.nav.foreldrepenger.abonnent.pdl.kafka.PdlLeesahOversetter.DØDFØDSEL; -import static no.nav.foreldrepenger.abonnent.pdl.kafka.PdlLeesahOversetter.FØDSEL; import static no.nav.foreldrepenger.abonnent.pdl.kafka.PdlLeesahOversetter.FØDSELSDATO; import static no.nav.foreldrepenger.abonnent.pdl.kafka.PdlLeesahOversetter.UTFLYTTING; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.Map; -import java.util.Optional; import java.util.function.Supplier; import org.apache.kafka.common.serialization.Deserializer; @@ -24,7 +22,6 @@ import jakarta.inject.Inject; import jakarta.transaction.Transactional; import no.nav.foreldrepenger.abonnent.felles.domene.HendelseKilde; -import no.nav.foreldrepenger.abonnent.felles.domene.HendelseType; import no.nav.foreldrepenger.abonnent.felles.domene.HåndtertStatusType; import no.nav.foreldrepenger.abonnent.felles.domene.InngåendeHendelse; import no.nav.foreldrepenger.abonnent.felles.task.HendelserDataWrapper; @@ -94,9 +91,7 @@ void handleMessage(String key, Personhendelse payload) { // key er spesialtegn + return; } - if (FØDSEL.contentEquals(payload.getOpplysningstype())) { - håndterFødsel(payload); - } else if (FØDSELSDATO.contentEquals(payload.getOpplysningstype())) { + if (FØDSELSDATO.contentEquals(payload.getOpplysningstype())) { håndterFødselsdato(payload); } else if (DØD.contentEquals(payload.getOpplysningstype())) { håndterDødsfall(payload); @@ -107,33 +102,15 @@ void handleMessage(String key, Personhendelse payload) { // key er spesialtegn + } } - private void håndterFødsel(Personhendelse payload) { - var foedsel = payload.getFoedsel(); - if (foedsel != null) { - loggMottakMedDato(payload, "fødsel", "fødselsdato", foedsel.getFoedselsdato()); - } else { - loggMottakUtenDato(payload, "fødsel"); - } - var pdlFødsel = oversetter.oversettFødsel(payload); - // Må håndtere korrigerte og annullerte hendelser et par dager framover - if (!HendelseType.PDL_FØDSEL_OPPRETTET.equals(pdlFødsel.getHendelseType())) { - prosesserHendelseVidereHvisRelevant(pdlFødsel); - } - } - private void håndterFødselsdato(Personhendelse payload) { var foedselsdato = payload.getFoedselsdato(); if (foedselsdato != null) { - loggMottakMedDato(payload, "fødsel dato", "fødselsdato", foedselsdato.getFoedselsdato()); + loggMottakMedDato(payload, "fødselsdato", "fødselsdato", foedselsdato.getFoedselsdato()); } else { - loggMottakUtenDato(payload, "fødsel dato"); + loggMottakUtenDato(payload, "fødselsdato"); } var pdlFødsel = oversetter.oversettFødselsdato(payload); - var tidligere = Optional.ofNullable(pdlFødsel.getTidligereHendelseId()) - .flatMap(th -> hendelseRepository.finnHendelseFraIdHvisFinnes(th, HendelseKilde.PDL)); - if (HendelseType.PDL_FØDSEL_OPPRETTET.equals(pdlFødsel.getHendelseType()) || tidligere.isPresent()) { - prosesserHendelseVidereHvisRelevant(pdlFødsel); - } + prosesserHendelseVidereHvisRelevant(pdlFødsel); } private void håndterDødsfall(Personhendelse payload) { diff --git a/domene/src/main/java/no/nav/foreldrepenger/abonnent/pdl/kafka/PdlLeesahOversetter.java b/domene/src/main/java/no/nav/foreldrepenger/abonnent/pdl/kafka/PdlLeesahOversetter.java index 822fb076..1e0add58 100644 --- a/domene/src/main/java/no/nav/foreldrepenger/abonnent/pdl/kafka/PdlLeesahOversetter.java +++ b/domene/src/main/java/no/nav/foreldrepenger/abonnent/pdl/kafka/PdlLeesahOversetter.java @@ -31,17 +31,6 @@ public PdlLeesahOversetter() { // CDI } - public PdlFødsel oversettFødsel(Personhendelse personhendelse) { - var builder = PdlFødsel.builder(); - oversettPersonhendelse(personhendelse, builder); - - if (personhendelse.getFoedsel() != null) { - builder.medFødselsdato(personhendelse.getFoedsel().getFoedselsdato()); - } - - return builder.build(); - } - public PdlFødsel oversettFødselsdato(Personhendelse personhendelse) { var builder = PdlFødsel.builder(); oversettPersonhendelse(personhendelse, builder); @@ -109,7 +98,7 @@ private HendelseType oversettHendelseType(Personhendelse personhendelse) { var endringstype = personhendelse.getEndringstype(); switch (opplysningstype) { - case FØDSEL, FØDSELSDATO -> { + case FØDSELSDATO -> { return switch (endringstype) { case OPPRETTET -> HendelseType.PDL_FØDSEL_OPPRETTET; case ANNULLERT -> HendelseType.PDL_FØDSEL_ANNULLERT; diff --git "a/domene/src/test/java/no/nav/foreldrepenger/abonnent/pdl/kafka/PdlLeesahHendelseH\303\245ndtererTest.java" "b/domene/src/test/java/no/nav/foreldrepenger/abonnent/pdl/kafka/PdlLeesahHendelseH\303\245ndtererTest.java" index bfd8e28e..170e2a12 100644 --- "a/domene/src/test/java/no/nav/foreldrepenger/abonnent/pdl/kafka/PdlLeesahHendelseH\303\245ndtererTest.java" +++ "b/domene/src/test/java/no/nav/foreldrepenger/abonnent/pdl/kafka/PdlLeesahHendelseH\303\245ndtererTest.java" @@ -14,6 +14,8 @@ import java.time.ZoneId; import java.util.List; +import no.nav.person.pdl.leesah.foedselsdato.Foedselsdato; + import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; @@ -144,7 +146,7 @@ void skal_lagre_oversatt_utflyttingshendelse_og_opprette_vurder_sortering_task() payload.setPersonidenter(List.of("1111111111111", "22222222222")); payload.setMaster("Freg"); payload.setOpprettet(OPPRETTET_TID.atZone(ZoneId.systemDefault()).toInstant()); - payload.setOpplysningstype("FOEDSEL_V1"); + payload.setOpplysningstype("FOEDSELSDATO_V1"); payload.setEndringstype(Endringstype.ANNULLERT); var hendelseCaptor = ArgumentCaptor.forClass(InngåendeHendelse.class); doNothing().when(hendelseRepository).lagreInngåendeHendelse(hendelseCaptor.capture()); @@ -157,7 +159,7 @@ void skal_lagre_oversatt_utflyttingshendelse_og_opprette_vurder_sortering_task() // Assert var inngåendeHendelse = hendelseCaptor.getValue(); assertThat(inngåendeHendelse.getPayload()).contains("\"hendelseId\":\"ABC\"", "\"personidenter\":[\"1111111111111\",\"22222222222\"]", - "\"master\":\"Freg\"", "\"opplysningstype\":\"FOEDSEL_V1\"", "\"endringstype\":\"ANNULLERT\"", + "\"master\":\"Freg\"", "\"opplysningstype\":\"FOEDSELSDATO_V1\"", "\"endringstype\":\"ANNULLERT\"", "\"hendelseType\":\"PDL_FOEDSEL_ANNULLERT\""); assertThat(inngåendeHendelse.getHendelseId()).isEqualTo("ABC"); assertThat(inngåendeHendelse.getHåndtertStatus()).isEqualTo(HåndtertStatusType.MOTTATT); @@ -180,11 +182,11 @@ void skal_lagre_oversatt_utflyttingshendelse_og_opprette_vurder_sortering_task() payload.setPersonidenter(List.of("1111111111111", "22222222222")); payload.setMaster("Freg"); payload.setOpprettet(OPPRETTET_TID.atZone(ZoneId.systemDefault()).toInstant()); - payload.setOpplysningstype("FOEDSEL_V1"); + payload.setOpplysningstype("FOEDSELSDATO_V1"); payload.setEndringstype(Endringstype.ANNULLERT); - var fødselsdato = new Foedsel(); + var fødselsdato = new Foedselsdato(); fødselsdato.setFoedselsdato(LocalDate.now().minusYears(20)); - payload.setFoedsel(fødselsdato); + payload.setFoedselsdato(fødselsdato); // Act hendelseHåndterer.handleMessage("", payload);