Skip to content

Commit

Permalink
Sanere Leesah FoedselV1
Browse files Browse the repository at this point in the history
  • Loading branch information
jolarsen committed Jun 15, 2024
1 parent ef8c5f0 commit 71ad0f9
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 57 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
Expand Down Expand Up @@ -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);
Expand All @@ -107,20 +102,6 @@ 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) {
Expand All @@ -129,11 +110,7 @@ void handleMessage(String key, Personhendelse payload) { // key er spesialtegn +
loggMottakUtenDato(payload, "fødsel dato");
}
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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ public class PdlLeesahOversetter {

private static final Logger LOG = LoggerFactory.getLogger(PdlLeesahOversetter.class);

public static final String FØDSEL = "FOEDSEL_V1";
public static final String FØDSELSDATO = "FOEDSELSDATO_V1";
public static final String DØD = "DOEDSFALL_V1";
public static final String DØDFØDSEL = "DOEDFOEDT_BARN_V1";
Expand All @@ -31,17 +30,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);
Expand Down Expand Up @@ -109,7 +97,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;
Expand Down
2 changes: 0 additions & 2 deletions domene/src/main/resources/avro/leesah/Personhendelse.avdl
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
protocol PersonhendelseProto {
import idl "doedfoedtbarn/DoedfoedtBarn.avdl";
import idl "doedsfall/Doedsfall.avdl";
import idl "foedsel/Foedsel.avdl";
import idl "foedselsdato/Foedselsdato.avdl";
import idl "utflytting/Utflytting.avdl";

Expand All @@ -26,7 +25,6 @@ protocol PersonhendelseProto {

union { null, no.nav.person.pdl.leesah.doedfoedtbarn.DoedfoedtBarn } doedfoedtBarn = null;
union { null, no.nav.person.pdl.leesah.doedsfall.Doedsfall } doedsfall = null;
union { null, no.nav.person.pdl.leesah.foedsel.Foedsel } foedsel = null;
union { null, no.nav.person.pdl.leesah.foedselsdato.Foedselsdato } foedselsdato = null;
union { null, no.nav.person.pdl.leesah.utflytting.UtflyttingFraNorge } utflyttingFraNorge = null;
}
Expand Down
11 changes: 0 additions & 11 deletions domene/src/main/resources/avro/leesah/foedsel/Foedsel.avdl

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
import no.nav.person.pdl.leesah.Endringstype;
import no.nav.person.pdl.leesah.Personhendelse;
import no.nav.person.pdl.leesah.doedsfall.Doedsfall;
import no.nav.person.pdl.leesah.foedsel.Foedsel;
import no.nav.person.pdl.leesah.foedselsdato.Foedselsdato;
import no.nav.person.pdl.leesah.utflytting.UtflyttingFraNorge;
import no.nav.vedtak.felles.prosesstask.api.ProsessTaskData;
import no.nav.vedtak.felles.prosesstask.api.ProsessTaskGruppe;
Expand Down Expand Up @@ -144,7 +144,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());
Expand All @@ -157,7 +157,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);
Expand All @@ -180,11 +180,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);
Expand Down

0 comments on commit 71ad0f9

Please sign in to comment.