Skip to content

Commit

Permalink
Må beholde FoedselV1 så lenge VTP sender hendelser
Browse files Browse the repository at this point in the history
  • Loading branch information
jolarsen committed Jun 17, 2024
1 parent 82bd3ed commit 9e70ad8
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 44 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,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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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());
Expand All @@ -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);
Expand All @@ -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);
Expand Down

0 comments on commit 9e70ad8

Please sign in to comment.