From 36036ad937c425cb50d87d22beebc7b8b96d7cd8 Mon Sep 17 00:00:00 2001 From: mariampervez Date: Thu, 6 Mar 2025 12:55:27 +0100 Subject: [PATCH 1/7] t - Legger til mock av gjennyfinnes kallet i tester --- .../no/nav/eessi/pensjon/listeners/SedMottattListenerTest.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/test/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListenerTest.kt b/src/test/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListenerTest.kt index 18290d7e..f93a8cfa 100644 --- a/src/test/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListenerTest.kt +++ b/src/test/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListenerTest.kt @@ -36,6 +36,7 @@ internal class SedMottattListenerTest { ) @Test fun `gitt en gyldig sedHendelse når sedMottatt hendelse konsumeres så ack melding`() { + every { gcpStorageService.gjennyFinnes(any()) } returns false sedListener.consumeSedMottatt(String(Files.readAllBytes(Paths.get("src/test/resources/eux/hendelser/P_BUC_01_P2000.json"))), cr, acknowledgment) verify(exactly = 1) { acknowledgment.acknowledge() } @@ -43,6 +44,7 @@ internal class SedMottattListenerTest { @Test fun `Gitt en P_BUC_02 som er en gjenny buc saa skal den lagres i gjenny bucketen`() { + every { gcpStorageService.gjennyFinnes(any()) } returns true sedListener.consumeSedMottatt(String(Files.readAllBytes(Paths.get("src/test/resources/eux/hendelser/P_BUC_02_P2100.json"))), cr, acknowledgment) verify(exactly = 1) { gcpStorageService.lagre(any(), any()) } @@ -51,6 +53,7 @@ internal class SedMottattListenerTest { @Test fun `Gitt en P_BUC_02 som ikke er P2100 saa skal den ikke lagres i gjenny bucketen`() { + every { gcpStorageService.gjennyFinnes(any()) } returns false sedListener.consumeSedMottatt(String(Files.readAllBytes(Paths.get("src/test/resources/eux/hendelser/P_BUC_02_P10000.json"))), cr, acknowledgment) verify(exactly = 0) { gcpStorageService.lagre(any(), any()) } @@ -59,6 +62,7 @@ internal class SedMottattListenerTest { @Test fun `gitt en ugyldig sedHendelse av type R_BUC_02 når sedMottatt hendelse konsumeres, skal melding ackes`() { + every { gcpStorageService.gjennyFinnes(any()) } returns false val hendelse = String(Files.readAllBytes(Paths.get("src/test/resources/eux/hendelser/R_BUC_02_R005.json"))) sedListener.consumeSedMottatt(hendelse, cr, acknowledgment) From a9d2068fdd6e0c3fdececb226d1ae471d909f39b Mon Sep 17 00:00:00 2001 From: mariampervez Date: Thu, 6 Mar 2025 12:57:16 +0100 Subject: [PATCH 2/7] b - Legger inn sjekk av gjennysak der vi filtrerer vekk ugyldige saksnumre funnet i seder i bucen --- .../no/nav/eessi/pensjon/listeners/SedListenerBase.kt | 5 +++-- .../no/nav/eessi/pensjon/listeners/SedMottattListener.kt | 4 +++- .../no/nav/eessi/pensjon/listeners/SedSendtListener.kt | 2 +- .../eessi/pensjon/listeners/fagmodul/FagmodulService.kt | 8 ++++---- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedListenerBase.kt b/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedListenerBase.kt index bd696133..d785989e 100644 --- a/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedListenerBase.kt +++ b/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedListenerBase.kt @@ -72,9 +72,10 @@ abstract class SedListenerBase( bucType: BucType, identifisertPerson: IdentifisertPDLPerson?, hendelseType: HendelseType, - currentSed: SED? + currentSed: SED?, + erGjennysak: Boolean? = false ): SaksInfoSamlet { - val saksIdFraSed = fagmodulService.hentSakIdFraSED(alleSedIBucList, currentSed) + val saksIdFraSed = fagmodulService.hentSakIdFraSED(alleSedIBucList, currentSed,) val sakTypeFraSED = euxService.hentSaktypeType(sedHendelse, alleSedIBucList) .takeIf { bucType == BucType.P_BUC_10 || bucType == BucType.R_BUC_02 } diff --git a/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListener.kt b/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListener.kt index 51c2cd3c..150172ef 100644 --- a/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListener.kt +++ b/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListener.kt @@ -117,13 +117,15 @@ class SedMottattListener( } } + val erGjennysak = gcpStorageService.gjennyFinnes(sedHendelse.rinaSakId) val saksInfoSamlet = hentSaksInformasjonForEessi( alleSedIBucList, sedHendelse, bucType, identifisertPerson, MOTTATT, - null // trenger ikke å sende med currentSed for MOTTATT, da det dette kommer fra utlandet + null, + // trenger ikke å sende med currentSed for MOTTATT, da det dette kommer fra utlandet ) val currentSed = alleSedMedGyldigStatus.firstOrNull { it.first == sedHendelse.rinaDokumentId }?.second diff --git a/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedSendtListener.kt b/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedSendtListener.kt index 5cb25a7c..e6159f4a 100644 --- a/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedSendtListener.kt +++ b/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedSendtListener.kt @@ -110,7 +110,7 @@ class SedSendtListener( bucType, identifisertPerson, SENDT, - currentSed + currentSed, ) diff --git a/src/main/kotlin/no/nav/eessi/pensjon/listeners/fagmodul/FagmodulService.kt b/src/main/kotlin/no/nav/eessi/pensjon/listeners/fagmodul/FagmodulService.kt index 0cec8831..a4851073 100644 --- a/src/main/kotlin/no/nav/eessi/pensjon/listeners/fagmodul/FagmodulService.kt +++ b/src/main/kotlin/no/nav/eessi/pensjon/listeners/fagmodul/FagmodulService.kt @@ -14,7 +14,7 @@ class FagmodulService(private val fagmodulKlient: FagmodulKlient) { private val secureLog = LoggerFactory.getLogger("secureLog") fun hentPensjonSakFraPesys(aktoerId: String, alleSedIBuc: List, currentSed: SED?): SakInformasjon? { - return hentSakIdFraSED(alleSedIBuc, currentSed)?.let { sakId -> + return hentSakIdFraSED(alleSedIBuc, currentSed,)?.let { sakId -> if (sakId.erGyldigPesysNummer().not()) { logger.warn("Det er registert feil eller ugyldig pesys sakID: ${sakId} for aktoerid: $aktoerId") return null @@ -51,13 +51,13 @@ class FagmodulService(private val fagmodulKlient: FagmodulKlient) { } - fun hentSakIdFraSED(sedListe: List, currentSed: SED?): String? { + fun hentSakIdFraSED(sedListe: List, currentSed: SED?, erGjennysak: Boolean? = null): String? { val sakerFraSed = sedListe .mapNotNull { sed -> filterEESSIsak(sed) } .map { id -> trimSakidString(id) } - .filter { it.erGyldigPesysNummer() } + .filter { it.erGyldigPesysNummer() || erGjennysak == true } .distinct() - .also { sakId -> logger.info("Fant sakId i SED: $sakId") } + .also { sakId -> logger.info("Fant sakId i SED: $sakId , sak er gjennysak: $erGjennysak") } if (sakerFraSed.isEmpty()) logger.warn("Fant ingen sakId i SED") From feddc92da2c0e8adcc49ac8fbb984971d6dfafa7 Mon Sep 17 00:00:00 2001 From: mariampervez Date: Fri, 7 Mar 2025 10:13:42 +0100 Subject: [PATCH 3/7] t - Legger til mock for hent fra GcpStorageService --- .../saksflyt/PBuc02IntegrationTest.kt | 16 ++++++++++++++++ .../pensjon/listeners/SedMottattListenerTest.kt | 8 ++++++++ 2 files changed, 24 insertions(+) diff --git a/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc02IntegrationTest.kt b/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc02IntegrationTest.kt index 84f00863..29d9a342 100644 --- a/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc02IntegrationTest.kt +++ b/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc02IntegrationTest.kt @@ -113,6 +113,14 @@ internal class PBuc02IntegrationTest : JournalforingTestBase() { @Test fun `Sjekker om identifisert person er under 67 aar dersom han er det skal vi sette det til gjennysak og tema omstilling returneres i dette tilfellet`() { val allDocuemtActions = listOf(ForenkletSED("10001212", P2100, SedStatus.RECEIVED)) + val gjennysakIBucket = """ + { + "sakId" : "123456", + "sakType" : "OMSORG" + } + """.trimIndent() + + every { gcpStorageService.hent(any(), any()) } returns gjennysakIBucket every { gcpStorageService.gjennyFinnes(any()) } returns true testRunnerVoksen( @@ -134,6 +142,14 @@ internal class PBuc02IntegrationTest : JournalforingTestBase() { @Test fun `Sjekker om identifisert person er barn i en mottatt P2100 og setter den til gjennysak med tema eybarnep`() { val allDocuemtActions = listOf(ForenkletSED("10001212", P2100, SedStatus.RECEIVED)) + val gjennysakIBucket = """ + { + "sakId" : "123456", + "sakType" : "OMSORG" + } + """.trimIndent() + + every { gcpStorageService.hent(any(), any()) } returns gjennysakIBucket every { gcpStorageService.gjennyFinnes(any()) } returns true every { gcpStorageService.hentFraGjenny(any()) } returns "BARNEP" diff --git a/src/test/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListenerTest.kt b/src/test/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListenerTest.kt index f93a8cfa..0f41c162 100644 --- a/src/test/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListenerTest.kt +++ b/src/test/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListenerTest.kt @@ -44,7 +44,15 @@ internal class SedMottattListenerTest { @Test fun `Gitt en P_BUC_02 som er en gjenny buc saa skal den lagres i gjenny bucketen`() { + val gjennysakIBucket = """ + { + "sakId" : "123456", + "sakType" : "OMSORG" + } + """.trimIndent() every { gcpStorageService.gjennyFinnes(any()) } returns true + every { gcpStorageService.oppdaterGjennysak(any(), any()) } returns "123546" + every { gcpStorageService.hent(any(), any()) } returns gjennysakIBucket sedListener.consumeSedMottatt(String(Files.readAllBytes(Paths.get("src/test/resources/eux/hendelser/P_BUC_02_P2100.json"))), cr, acknowledgment) verify(exactly = 1) { gcpStorageService.lagre(any(), any()) } From 3c93855f60a3ea086643395d539b83e72e2db274 Mon Sep 17 00:00:00 2001 From: mariampervez Date: Fri, 7 Mar 2025 10:14:49 +0100 Subject: [PATCH 4/7] b - Sjekker om bucket inneholder gjennysakId, og legger til denne fra Sed, dersom den er null --- .../eessi/pensjon/gcp/GcpStorageService.kt | 26 +++++++++++++++- .../pensjon/listeners/SedListenerBase.kt | 31 ++++++++++++++++--- .../pensjon/listeners/SedMottattListener.kt | 3 +- .../listeners/fagmodul/FagmodulService.kt | 18 ++++++++--- 4 files changed, 66 insertions(+), 12 deletions(-) diff --git a/src/main/kotlin/no/nav/eessi/pensjon/gcp/GcpStorageService.kt b/src/main/kotlin/no/nav/eessi/pensjon/gcp/GcpStorageService.kt index ff17c348..6d486ad8 100644 --- a/src/main/kotlin/no/nav/eessi/pensjon/gcp/GcpStorageService.kt +++ b/src/main/kotlin/no/nav/eessi/pensjon/gcp/GcpStorageService.kt @@ -3,6 +3,9 @@ package no.nav.eessi.pensjon.gcp import com.google.cloud.storage.BlobId import com.google.cloud.storage.BlobInfo import com.google.cloud.storage.Storage +import no.nav.eessi.pensjon.eux.model.SedHendelse +import no.nav.eessi.pensjon.eux.model.buc.SakType.BARNEP +import no.nav.eessi.pensjon.eux.model.buc.SakType.OMSORG import no.nav.eessi.pensjon.utils.toJson import org.slf4j.LoggerFactory import org.springframework.beans.factory.annotation.Value @@ -45,13 +48,15 @@ class GcpStorageService( logger.info("Melding for $storageKey finnes ikke for $bucketName") return false } + fun hentBlobId(bucketName: String, storageKey: String): BlobId = + gcpStorage.get(BlobId.of(bucketName, storageKey)).blobId fun hentFraGjenny(storageKey: String): String? { logger.debug("Henter gjennydetaljer for rinaSakId: $storageKey") return hent(storageKey, gjennyBucket) } - private fun hent(storageKey: String, bucketName: String): String? { + fun hent(storageKey: String, bucketName: String): String? { try { logger.info("storageKey: $storageKey og bucketName: $bucketName") val jsonHendelse = gcpStorage.get(BlobId.of(bucketName, storageKey)) @@ -76,4 +81,23 @@ class GcpStorageService( if (gjennysak != null) logger.info("Lagret info på S3 med rinaID: $euxCaseId for gjenny: ${gjennysak.toJson()}") } } + + fun oppdaterGjennysak(sedHendelse: SedHendelse, gcpstorageObject: GjennySak) : String { + val blobId = hentBlobId(gjennyBucket, sedHendelse.rinaSakId) + slettJournalpostDetaljer(blobId) + logger.warn("Gjennysak finnes for rinaSakId: ${sedHendelse.rinaSakId}") + + val saksType = if (gcpstorageObject.sakType == "OMSORG") OMSORG else BARNEP + lagre(sedHendelse.rinaSakId, GjennySak(sedHendelse.rinaSakId, saksType.name)) + return saksType.name + } + + fun slettJournalpostDetaljer(blobId: BlobId) { + try { + logger.info("Sletter journalpostdetaljer for rinaSakId: $blobId") + gcpStorage.delete(blobId).also { logger.info("Slett av journalpostdetaljer utført: $it") } + } catch (ex: Exception) { + logger.warn("En feil oppstod under sletting av objekt: $blobId i bucket") + } + } } diff --git a/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedListenerBase.kt b/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedListenerBase.kt index d785989e..c602239a 100644 --- a/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedListenerBase.kt +++ b/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedListenerBase.kt @@ -4,10 +4,10 @@ import no.nav.eessi.pensjon.eux.model.BucType import no.nav.eessi.pensjon.eux.model.SedHendelse import no.nav.eessi.pensjon.eux.model.buc.SakStatus.AVSLUTTET import no.nav.eessi.pensjon.eux.model.buc.SakType -import no.nav.eessi.pensjon.eux.model.buc.SakType.GJENLEV -import no.nav.eessi.pensjon.eux.model.buc.SakType.UFOREP +import no.nav.eessi.pensjon.eux.model.buc.SakType.* import no.nav.eessi.pensjon.eux.model.sed.SED import no.nav.eessi.pensjon.gcp.GcpStorageService +import no.nav.eessi.pensjon.gcp.GjennySak import no.nav.eessi.pensjon.listeners.fagmodul.FagmodulService import no.nav.eessi.pensjon.listeners.pesys.BestemSakService import no.nav.eessi.pensjon.models.SaksInfoSamlet @@ -15,6 +15,8 @@ import no.nav.eessi.pensjon.oppgaverouting.HendelseType import no.nav.eessi.pensjon.oppgaverouting.SakInformasjon import no.nav.eessi.pensjon.personidentifisering.IdentifisertPDLPerson import no.nav.eessi.pensjon.personoppslag.pdl.model.IdentifisertPerson +import no.nav.eessi.pensjon.utils.mapAnyToJson +import no.nav.eessi.pensjon.utils.mapJsonToAny import org.slf4j.LoggerFactory import org.springframework.kafka.support.Acknowledgment @@ -72,10 +74,16 @@ abstract class SedListenerBase( bucType: BucType, identifisertPerson: IdentifisertPDLPerson?, hendelseType: HendelseType, - currentSed: SED?, - erGjennysak: Boolean? = false + currentSed: SED? ): SaksInfoSamlet { - val saksIdFraSed = fagmodulService.hentSakIdFraSED(alleSedIBucList, currentSed,) + val erGjennysak = gcpStorageService.gjennyFinnes(sedHendelse.rinaSakId) + if(erGjennysak) { + val gjennySakId = fagmodulService.hentGjennySakIdFraSed(currentSed) + oppdaterGjennySak(sedHendelse) + return SaksInfoSamlet(gjennySakId, null, null) + } + val saksIdFraSed = fagmodulService.hentSakIdFraSED(alleSedIBucList, currentSed) + val sakTypeFraSED = euxService.hentSaktypeType(sedHendelse, alleSedIBucList) .takeIf { bucType == BucType.P_BUC_10 || bucType == BucType.R_BUC_02 } @@ -92,6 +100,19 @@ abstract class SedListenerBase( return SaksInfoSamlet(saksIdFraSed, sakInformasjon, saktypeFraSedEllerPesys) } + private fun oppdaterGjennySak(sedHendelse: SedHendelse) : String? { + val gcpstorageObject = gcpStorageService.hent(sedHendelse.rinaSakId, "eessi-pensjon-gjenny") + ?.let { mapJsonToAny(it) } + val gjennyFinnes = gcpStorageService.gjennyFinnes(sedHendelse.rinaSakId) + + return if (gjennyFinnes && gcpstorageObject?.sakId == null) { + gcpStorageService.oppdaterGjennysak(sedHendelse, gcpstorageObject!!) + } + else null + + } + + fun skippingOffsett(offset: Long, offsetsToSkip : List): Boolean { return if (offset !in offsetsToSkip) { false diff --git a/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListener.kt b/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListener.kt index 150172ef..e5892bb8 100644 --- a/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListener.kt +++ b/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListener.kt @@ -117,14 +117,13 @@ class SedMottattListener( } } - val erGjennysak = gcpStorageService.gjennyFinnes(sedHendelse.rinaSakId) val saksInfoSamlet = hentSaksInformasjonForEessi( alleSedIBucList, sedHendelse, bucType, identifisertPerson, MOTTATT, - null, + null // trenger ikke å sende med currentSed for MOTTATT, da det dette kommer fra utlandet ) diff --git a/src/main/kotlin/no/nav/eessi/pensjon/listeners/fagmodul/FagmodulService.kt b/src/main/kotlin/no/nav/eessi/pensjon/listeners/fagmodul/FagmodulService.kt index a4851073..b01440af 100644 --- a/src/main/kotlin/no/nav/eessi/pensjon/listeners/fagmodul/FagmodulService.kt +++ b/src/main/kotlin/no/nav/eessi/pensjon/listeners/fagmodul/FagmodulService.kt @@ -14,7 +14,7 @@ class FagmodulService(private val fagmodulKlient: FagmodulKlient) { private val secureLog = LoggerFactory.getLogger("secureLog") fun hentPensjonSakFraPesys(aktoerId: String, alleSedIBuc: List, currentSed: SED?): SakInformasjon? { - return hentSakIdFraSED(alleSedIBuc, currentSed,)?.let { sakId -> + return hentSakIdFraSED(alleSedIBuc, currentSed)?.let { sakId -> if (sakId.erGyldigPesysNummer().not()) { logger.warn("Det er registert feil eller ugyldig pesys sakID: ${sakId} for aktoerid: $aktoerId") return null @@ -51,13 +51,13 @@ class FagmodulService(private val fagmodulKlient: FagmodulKlient) { } - fun hentSakIdFraSED(sedListe: List, currentSed: SED?, erGjennysak: Boolean? = null): String? { + fun hentSakIdFraSED(sedListe: List, currentSed: SED?): String? { val sakerFraSed = sedListe .mapNotNull { sed -> filterEESSIsak(sed) } .map { id -> trimSakidString(id) } - .filter { it.erGyldigPesysNummer() || erGjennysak == true } + .filter { it.erGyldigPesysNummer() } .distinct() - .also { sakId -> logger.info("Fant sakId i SED: $sakId , sak er gjennysak: $erGjennysak") } + .also { sakId -> logger.info("Fant sakId i SED: $sakId.") } if (sakerFraSed.isEmpty()) logger.warn("Fant ingen sakId i SED") @@ -81,6 +81,16 @@ class FagmodulService(private val fagmodulKlient: FagmodulKlient) { return sakerFraSed.firstOrNull().also { logger.info("Pesys sakId fra SED: $it") } } + fun hentGjennySakIdFraSed(currentSed: SED?): String? { + val sakIdFraSed = currentSed?.nav?.eessisak?.mapNotNull { it.saksnummer } + ?.map { id -> trimSakidString(id) } + ?.distinct() + .also { sakId -> logger.info("Fant gjenny sakId i SED: $sakId. Antall gjennysaker funnet: ${sakId?.size}") } + + if (sakIdFraSed?.isEmpty() == true) logger.warn("Fant ingen gjenny sakId i SEDen") + return sakIdFraSed?.firstOrNull().also { logger.info("Gjenny sakId fra SED: $it") } + } + private fun filterEESSIsak(sed: SED): String? { val sak = sed.nav?.eessisak ?: return null logger.info("Sak fra SED: ${sak.toJson()}") From cfdfd693f15a6bf9fada76ff37e8623480a853b7 Mon Sep 17 00:00:00 2001 From: mariampervez Date: Fri, 7 Mar 2025 10:58:31 +0100 Subject: [PATCH 5/7] b - Legger til nullsjekk --- .../no/nav/eessi/pensjon/listeners/SedListenerBase.kt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedListenerBase.kt b/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedListenerBase.kt index c602239a..f35162fc 100644 --- a/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedListenerBase.kt +++ b/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedListenerBase.kt @@ -15,7 +15,6 @@ import no.nav.eessi.pensjon.oppgaverouting.HendelseType import no.nav.eessi.pensjon.oppgaverouting.SakInformasjon import no.nav.eessi.pensjon.personidentifisering.IdentifisertPDLPerson import no.nav.eessi.pensjon.personoppslag.pdl.model.IdentifisertPerson -import no.nav.eessi.pensjon.utils.mapAnyToJson import no.nav.eessi.pensjon.utils.mapJsonToAny import org.slf4j.LoggerFactory import org.springframework.kafka.support.Acknowledgment @@ -101,12 +100,12 @@ abstract class SedListenerBase( } private fun oppdaterGjennySak(sedHendelse: SedHendelse) : String? { - val gcpstorageObject = gcpStorageService.hent(sedHendelse.rinaSakId, "eessi-pensjon-gjenny") + val gcpGjennysak = gcpStorageService.hent(sedHendelse.rinaSakId, "eessi-pensjon-gjenny") ?.let { mapJsonToAny(it) } val gjennyFinnes = gcpStorageService.gjennyFinnes(sedHendelse.rinaSakId) - return if (gjennyFinnes && gcpstorageObject?.sakId == null) { - gcpStorageService.oppdaterGjennysak(sedHendelse, gcpstorageObject!!) + return if (gjennyFinnes && gcpGjennysak?.sakId == null && gcpGjennysak != null) { + gcpStorageService.oppdaterGjennysak(sedHendelse, gcpGjennysak) } else null From 888a54ee0c7c0e1ba2884b8037ed1b95f1f8117f Mon Sep 17 00:00:00 2001 From: mariampervez Date: Fri, 7 Mar 2025 13:57:32 +0100 Subject: [PATCH 6/7] b - Bruker hentFraGjenny i stedet for hent i SedListenerBase --- .../kotlin/no/nav/eessi/pensjon/listeners/SedListenerBase.kt | 5 ++--- .../integrasjonstest/saksflyt/PBuc02IntegrationTest.kt | 5 ++--- .../no/nav/eessi/pensjon/listeners/SedMottattListenerTest.kt | 2 +- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedListenerBase.kt b/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedListenerBase.kt index f35162fc..38204222 100644 --- a/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedListenerBase.kt +++ b/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedListenerBase.kt @@ -78,7 +78,7 @@ abstract class SedListenerBase( val erGjennysak = gcpStorageService.gjennyFinnes(sedHendelse.rinaSakId) if(erGjennysak) { val gjennySakId = fagmodulService.hentGjennySakIdFraSed(currentSed) - oppdaterGjennySak(sedHendelse) + oppdaterGjennySak(sedHendelse).also { logger.info("Gjennysak oppdatert med sakId: $it") } return SaksInfoSamlet(gjennySakId, null, null) } val saksIdFraSed = fagmodulService.hentSakIdFraSED(alleSedIBucList, currentSed) @@ -100,8 +100,7 @@ abstract class SedListenerBase( } private fun oppdaterGjennySak(sedHendelse: SedHendelse) : String? { - val gcpGjennysak = gcpStorageService.hent(sedHendelse.rinaSakId, "eessi-pensjon-gjenny") - ?.let { mapJsonToAny(it) } + val gcpGjennysak = gcpStorageService.hentFraGjenny(sedHendelse.rinaSakId)?.let { mapJsonToAny(it) } val gjennyFinnes = gcpStorageService.gjennyFinnes(sedHendelse.rinaSakId) return if (gjennyFinnes && gcpGjennysak?.sakId == null && gcpGjennysak != null) { diff --git a/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc02IntegrationTest.kt b/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc02IntegrationTest.kt index 29d9a342..709858f5 100644 --- a/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc02IntegrationTest.kt +++ b/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc02IntegrationTest.kt @@ -145,13 +145,12 @@ internal class PBuc02IntegrationTest : JournalforingTestBase() { val gjennysakIBucket = """ { "sakId" : "123456", - "sakType" : "OMSORG" + "sakType" : "BARNEP" } """.trimIndent() - every { gcpStorageService.hent(any(), any()) } returns gjennysakIBucket every { gcpStorageService.gjennyFinnes(any()) } returns true - every { gcpStorageService.hentFraGjenny(any()) } returns "BARNEP" + every { gcpStorageService.hentFraGjenny(any()) } returns gjennysakIBucket testRunnerVoksen( FNR_VOKSEN_2, diff --git a/src/test/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListenerTest.kt b/src/test/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListenerTest.kt index 0f41c162..bcdd8e4a 100644 --- a/src/test/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListenerTest.kt +++ b/src/test/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListenerTest.kt @@ -52,7 +52,7 @@ internal class SedMottattListenerTest { """.trimIndent() every { gcpStorageService.gjennyFinnes(any()) } returns true every { gcpStorageService.oppdaterGjennysak(any(), any()) } returns "123546" - every { gcpStorageService.hent(any(), any()) } returns gjennysakIBucket + every { gcpStorageService.hentFraGjenny(any()) } returns gjennysakIBucket sedListener.consumeSedMottatt(String(Files.readAllBytes(Paths.get("src/test/resources/eux/hendelser/P_BUC_02_P2100.json"))), cr, acknowledgment) verify(exactly = 1) { gcpStorageService.lagre(any(), any()) } From dd6b9cd76641f89d187ca807214e9b7fcf3375c7 Mon Sep 17 00:00:00 2001 From: mariampervez Date: Fri, 7 Mar 2025 14:24:06 +0100 Subject: [PATCH 7/7] b - Legger inn gjennysak i sed i bucket --- .../kotlin/no/nav/eessi/pensjon/gcp/GcpStorageService.kt | 4 ++-- .../no/nav/eessi/pensjon/listeners/SedListenerBase.kt | 8 +++++--- .../nav/eessi/pensjon/listeners/SedMottattListenerTest.kt | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/no/nav/eessi/pensjon/gcp/GcpStorageService.kt b/src/main/kotlin/no/nav/eessi/pensjon/gcp/GcpStorageService.kt index 6d486ad8..611b633e 100644 --- a/src/main/kotlin/no/nav/eessi/pensjon/gcp/GcpStorageService.kt +++ b/src/main/kotlin/no/nav/eessi/pensjon/gcp/GcpStorageService.kt @@ -82,13 +82,13 @@ class GcpStorageService( } } - fun oppdaterGjennysak(sedHendelse: SedHendelse, gcpstorageObject: GjennySak) : String { + fun oppdaterGjennysak(sedHendelse: SedHendelse, gcpstorageObject: GjennySak, gjennysakFraSed: String) : String { val blobId = hentBlobId(gjennyBucket, sedHendelse.rinaSakId) slettJournalpostDetaljer(blobId) logger.warn("Gjennysak finnes for rinaSakId: ${sedHendelse.rinaSakId}") val saksType = if (gcpstorageObject.sakType == "OMSORG") OMSORG else BARNEP - lagre(sedHendelse.rinaSakId, GjennySak(sedHendelse.rinaSakId, saksType.name)) + lagre(sedHendelse.rinaSakId, GjennySak(gjennysakFraSed, saksType.name)) return saksType.name } diff --git a/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedListenerBase.kt b/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedListenerBase.kt index 38204222..d16380a5 100644 --- a/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedListenerBase.kt +++ b/src/main/kotlin/no/nav/eessi/pensjon/listeners/SedListenerBase.kt @@ -78,7 +78,9 @@ abstract class SedListenerBase( val erGjennysak = gcpStorageService.gjennyFinnes(sedHendelse.rinaSakId) if(erGjennysak) { val gjennySakId = fagmodulService.hentGjennySakIdFraSed(currentSed) - oppdaterGjennySak(sedHendelse).also { logger.info("Gjennysak oppdatert med sakId: $it") } + if (gjennySakId != null) { + oppdaterGjennySak(sedHendelse, gjennySakId).also { logger.info("Gjennysak oppdatert med sakId: $it") } + } return SaksInfoSamlet(gjennySakId, null, null) } val saksIdFraSed = fagmodulService.hentSakIdFraSED(alleSedIBucList, currentSed) @@ -99,12 +101,12 @@ abstract class SedListenerBase( return SaksInfoSamlet(saksIdFraSed, sakInformasjon, saktypeFraSedEllerPesys) } - private fun oppdaterGjennySak(sedHendelse: SedHendelse) : String? { + private fun oppdaterGjennySak(sedHendelse: SedHendelse, gjennysakFraSed: String) : String? { val gcpGjennysak = gcpStorageService.hentFraGjenny(sedHendelse.rinaSakId)?.let { mapJsonToAny(it) } val gjennyFinnes = gcpStorageService.gjennyFinnes(sedHendelse.rinaSakId) return if (gjennyFinnes && gcpGjennysak?.sakId == null && gcpGjennysak != null) { - gcpStorageService.oppdaterGjennysak(sedHendelse, gcpGjennysak) + gcpStorageService.oppdaterGjennysak(sedHendelse, gcpGjennysak, gjennysakFraSed) } else null diff --git a/src/test/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListenerTest.kt b/src/test/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListenerTest.kt index bcdd8e4a..3a3908f2 100644 --- a/src/test/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListenerTest.kt +++ b/src/test/kotlin/no/nav/eessi/pensjon/listeners/SedMottattListenerTest.kt @@ -51,7 +51,7 @@ internal class SedMottattListenerTest { } """.trimIndent() every { gcpStorageService.gjennyFinnes(any()) } returns true - every { gcpStorageService.oppdaterGjennysak(any(), any()) } returns "123546" + every { gcpStorageService.oppdaterGjennysak(any(), any(), any()) } returns "123546" every { gcpStorageService.hentFraGjenny(any()) } returns gjennysakIBucket sedListener.consumeSedMottatt(String(Files.readAllBytes(Paths.get("src/test/resources/eux/hendelser/P_BUC_02_P2100.json"))), cr, acknowledgment)