Skip to content

Commit

Permalink
Fjern bestemmenede fraværsdag (del 1)
Browse files Browse the repository at this point in the history
  • Loading branch information
bjerga committed Dec 20, 2024
1 parent 32d79f4 commit 5de1dc7
Show file tree
Hide file tree
Showing 15 changed files with 55 additions and 137 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ class BerikInntektsmeldingService(
.plus(
mapOf(
Key.INNTEKTSMELDING to inntektsmelding.toJson(Inntektsmelding.serializer()),
// TODO vurder å flytte denne inn i Inntektsmelding (ikke sikker om det er en god idé, så avventer til v1 er brukt overalt)
// TODO fjern etter overgangsfase
Key.BESTEMMENDE_FRAVAERSDAG to bestemmendeFravaersdag.toJson(),
Key.INNSENDING_ID to steg0.innsendingId.toJson(Long.serializer()),
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,10 @@ import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Fail
import no.nav.helsearbeidsgiver.felles.rapidsrivers.river.ObjectRiver
import no.nav.helsearbeidsgiver.felles.utils.Log
import no.nav.helsearbeidsgiver.inntektsmelding.db.InntektsmeldingRepository
import no.nav.helsearbeidsgiver.utils.json.serializer.LocalDateSerializer
import no.nav.helsearbeidsgiver.utils.json.serializer.UuidSerializer
import no.nav.helsearbeidsgiver.utils.json.toJson
import no.nav.helsearbeidsgiver.utils.log.logger
import no.nav.helsearbeidsgiver.utils.log.sikkerLogger
import java.time.LocalDate
import java.util.UUID

data class LagreImMelding(
Expand All @@ -29,7 +27,6 @@ data class LagreImMelding(
val transaksjonId: UUID,
val data: Map<Key, JsonElement>,
val inntektsmelding: Inntektsmelding,
val bestemmendeFravaersdag: LocalDate,
val innsendingId: Long,
)

Expand All @@ -51,13 +48,12 @@ class LagreImRiver(
transaksjonId = Key.KONTEKST_ID.les(UuidSerializer, json),
data = data,
inntektsmelding = Key.INNTEKTSMELDING.les(Inntektsmelding.serializer(), data),
bestemmendeFravaersdag = Key.BESTEMMENDE_FRAVAERSDAG.les(LocalDateSerializer, data),
innsendingId = Key.INNSENDING_ID.les(Long.serializer(), data),
)
}

override fun LagreImMelding.haandter(json: Map<Key, JsonElement>): Map<Key, JsonElement> {
val inntektsmeldingGammeltFormat = inntektsmelding.convert().copy(bestemmendeFraværsdag = bestemmendeFravaersdag)
val inntektsmeldingGammeltFormat = inntektsmelding.convert()

imRepo.oppdaterMedBeriketDokument(inntektsmelding.type.id, innsendingId, inntektsmeldingGammeltFormat)
sikkerLogger.info("Lagret inntektsmelding.")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ import no.nav.helsearbeidsgiver.felles.rapidsrivers.river.ObjectRiver
import no.nav.helsearbeidsgiver.felles.utils.Log
import no.nav.helsearbeidsgiver.inntektsmelding.db.InntektsmeldingRepository
import no.nav.helsearbeidsgiver.inntektsmelding.db.SelvbestemtImRepo
import no.nav.helsearbeidsgiver.utils.collection.mapValuesNotNull
import no.nav.helsearbeidsgiver.utils.json.serializer.UuidSerializer
import no.nav.helsearbeidsgiver.utils.json.toJson
import no.nav.helsearbeidsgiver.utils.log.logger
Expand Down Expand Up @@ -84,13 +83,11 @@ class LagreJournalpostIdRiver(
Key.EVENT_NAME to EventName.INNTEKTSMELDING_JOURNALPOST_ID_LAGRET.toJson(),
Key.KONTEKST_ID to transaksjonId.toJson(),
Key.INNTEKTSMELDING to inntektsmelding.toJson(Inntektsmelding.serializer()),
Key.BESTEMMENDE_FRAVAERSDAG to json[Key.BESTEMMENDE_FRAVAERSDAG],
Key.JOURNALPOST_ID to journalpostId.toJson(),
).mapValuesNotNull { it }
.also {
logger.info("Publiserer event '${EventName.INNTEKTSMELDING_JOURNALPOST_ID_LAGRET}' med journalpost-ID '$journalpostId'.")
sikkerLogger.info("Publiserer event:\n${it.toPretty()}")
}
).also {
logger.info("Publiserer event '${EventName.INNTEKTSMELDING_JOURNALPOST_ID_LAGRET}' med journalpost-ID '$journalpostId'.")
sikkerLogger.info("Publiserer event:\n${it.toPretty()}")
}
}

override fun LagreJournalpostIdMelding.haandterFeil(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ import no.nav.helsearbeidsgiver.felles.test.rapidsrivers.firstMessage
import no.nav.helsearbeidsgiver.felles.test.rapidsrivers.sendJson
import no.nav.helsearbeidsgiver.inntektsmelding.db.InntektsmeldingRepository
import no.nav.helsearbeidsgiver.utils.json.toJson
import no.nav.helsearbeidsgiver.utils.test.date.oktober
import java.util.UUID

class LagreImRiverTest :
Expand Down Expand Up @@ -63,7 +62,6 @@ class LagreImRiverTest :
Key.DATA to
mapOf(
Key.INNTEKTSMELDING to innkommendeMelding.inntektsmelding.toJson(Inntektsmelding.serializer()),
Key.BESTEMMENDE_FRAVAERSDAG to bestemmendeFravaersdag.toJson(),
Key.ER_DUPLIKAT_IM to false.toJson(Boolean.serializer()),
Key.INNSENDING_ID to innsendingId.toJson(Long.serializer()),
).toJson(),
Expand Down Expand Up @@ -122,8 +120,6 @@ class LagreImRiverTest :
}
})

private val bestemmendeFravaersdag = 20.oktober

private fun innkommendeMelding(
innsendingId: Long,
inntektsmelding: Inntektsmelding = mockInntektsmeldingV1(),
Expand All @@ -135,11 +131,9 @@ private fun innkommendeMelding(
data =
mapOf(
Key.INNTEKTSMELDING to inntektsmelding.toJson(Inntektsmelding.serializer()),
Key.BESTEMMENDE_FRAVAERSDAG to bestemmendeFravaersdag.toJson(),
Key.INNSENDING_ID to innsendingId.toJson(Long.serializer()),
),
inntektsmelding = inntektsmelding,
bestemmendeFravaersdag = bestemmendeFravaersdag,
innsendingId = innsendingId,
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ import no.nav.helsearbeidsgiver.inntektsmelding.db.SelvbestemtImRepo
import no.nav.helsearbeidsgiver.inntektsmelding.db.river.Mock.INNSENDING_ID
import no.nav.helsearbeidsgiver.inntektsmelding.db.river.Mock.toMap
import no.nav.helsearbeidsgiver.utils.json.toJson
import no.nav.helsearbeidsgiver.utils.test.date.oktober
import java.util.UUID

class LagreJournalpostIdRiverTest :
Expand Down Expand Up @@ -64,7 +63,6 @@ class LagreJournalpostIdRiverTest :
Key.EVENT_NAME to EventName.INNTEKTSMELDING_JOURNALPOST_ID_LAGRET.toJson(),
Key.KONTEKST_ID to innkommendeMelding.transaksjonId.toJson(),
Key.INNTEKTSMELDING to innkommendeMelding.inntektsmelding.toJson(Inntektsmelding.serializer()),
Key.BESTEMMENDE_FRAVAERSDAG to Mock.bestemmendeFravaersdag.toJson(),
Key.JOURNALPOST_ID to innkommendeMelding.journalpostId.toJson(),
)

Expand Down Expand Up @@ -93,7 +91,6 @@ class LagreJournalpostIdRiverTest :
testRapid.sendJson(
innkommendeMelding
.toMap()
.minus(Key.BESTEMMENDE_FRAVAERSDAG)
.minus(Key.INNSENDING_ID),
)

Expand Down Expand Up @@ -225,8 +222,6 @@ class LagreJournalpostIdRiverTest :
private object Mock {
const val INNSENDING_ID = 1L

val bestemmendeFravaersdag = 20.oktober

fun innkommendeMelding(inntektsmelding: Inntektsmelding = mockInntektsmeldingV1()): LagreJournalpostIdMelding =
LagreJournalpostIdMelding(
eventName = EventName.INNTEKTSMELDING_JOURNALFOERT,
Expand All @@ -242,7 +237,6 @@ private object Mock {
Key.KONTEKST_ID to transaksjonId.toJson(),
Key.JOURNALPOST_ID to journalpostId.toJson(),
Key.INNTEKTSMELDING to inntektsmelding.toJson(Inntektsmelding.serializer()),
Key.BESTEMMENDE_FRAVAERSDAG to bestemmendeFravaersdag.toJson(),
Key.INNSENDING_ID to INNSENDING_ID.toJson(Long.serializer()),
)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,29 +1,25 @@
package no.nav.helsearbeidsgiver.inntektsmelding.distribusjon

import kotlinx.serialization.Serializable
import kotlinx.serialization.builtins.serializer
import kotlinx.serialization.json.JsonElement
import no.nav.helsearbeidsgiver.domene.inntektsmelding.v1.Inntektsmelding
import no.nav.helsearbeidsgiver.domene.inntektsmelding.v1.JournalfoertInntektsmelding
import no.nav.helsearbeidsgiver.felles.EventName
import no.nav.helsearbeidsgiver.felles.Key
import no.nav.helsearbeidsgiver.felles.json.krev
import no.nav.helsearbeidsgiver.felles.json.les
import no.nav.helsearbeidsgiver.felles.json.lesOrNull
import no.nav.helsearbeidsgiver.felles.json.toJson
import no.nav.helsearbeidsgiver.felles.json.toPretty
import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Fail
import no.nav.helsearbeidsgiver.felles.rapidsrivers.river.ObjectRiver
import no.nav.helsearbeidsgiver.felles.utils.Log
import no.nav.helsearbeidsgiver.utils.collection.mapValuesNotNull
import no.nav.helsearbeidsgiver.utils.json.serializer.LocalDateSerializer
import no.nav.helsearbeidsgiver.utils.json.serializer.UuidSerializer
import no.nav.helsearbeidsgiver.utils.json.toJson
import no.nav.helsearbeidsgiver.utils.json.toJsonStr
import no.nav.helsearbeidsgiver.utils.log.logger
import no.nav.helsearbeidsgiver.utils.log.sikkerLogger
import org.apache.kafka.clients.producer.KafkaProducer
import org.apache.kafka.clients.producer.ProducerRecord
import java.time.LocalDate
import java.util.UUID

const val TOPIC_HELSEARBEIDSGIVER_INNTEKTSMELDING_EKSTERN = "helsearbeidsgiver.inntektsmelding"
Expand All @@ -32,7 +28,6 @@ data class Melding(
val eventName: EventName,
val transaksjonId: UUID,
val inntektsmelding: Inntektsmelding,
val bestemmendeFravaersdag: LocalDate?,
val journalpostId: String,
)

Expand All @@ -50,7 +45,6 @@ class DistribusjonRiver(
eventName = Key.EVENT_NAME.krev(EventName.INNTEKTSMELDING_JOURNALPOST_ID_LAGRET, EventName.serializer(), json),
transaksjonId = Key.KONTEKST_ID.les(UuidSerializer, json),
inntektsmelding = Key.INNTEKTSMELDING.les(Inntektsmelding.serializer(), json),
bestemmendeFravaersdag = Key.BESTEMMENDE_FRAVAERSDAG.lesOrNull(LocalDateSerializer, json),
journalpostId = Key.JOURNALPOST_ID.les(String.serializer(), json),
)
}
Expand All @@ -61,7 +55,7 @@ class DistribusjonRiver(
sikkerLogger.info("$it Innkommende melding:\n${json.toPretty()}")
}

distribuerInntektsmelding(inntektsmelding, bestemmendeFravaersdag, journalpostId)
distribuerInntektsmelding(journalpostId, inntektsmelding)

"Distribuerte IM med journalpost-ID '$journalpostId'.".also {
logger.info(it)
Expand All @@ -73,8 +67,7 @@ class DistribusjonRiver(
Key.KONTEKST_ID to transaksjonId.toJson(),
Key.JOURNALPOST_ID to journalpostId.toJson(),
Key.INNTEKTSMELDING to inntektsmelding.toJson(Inntektsmelding.serializer()),
Key.BESTEMMENDE_FRAVAERSDAG to bestemmendeFravaersdag?.toJson(),
).mapValuesNotNull { it }
)
}

override fun Melding.haandterFeil(
Expand Down Expand Up @@ -106,15 +99,13 @@ class DistribusjonRiver(
)

private fun distribuerInntektsmelding(
inntektsmelding: Inntektsmelding,
bestemmendeFravaersdag: LocalDate?,
journalpostId: String,
inntektsmelding: Inntektsmelding,
) {
val journalfoertInntektsmelding =
JournalfoertInntektsmelding(
journalpostId = journalpostId,
inntektsmeldingV1 = inntektsmelding,
bestemmendeFravaersdag = bestemmendeFravaersdag,
inntektsmelding = inntektsmelding,
)

val record =
Expand All @@ -126,12 +117,3 @@ class DistribusjonRiver(
kafkaProducer.send(record)
}
}

// Midlertidig klasse som inneholder bestemmende fraværsdag
@Serializable
data class JournalfoertInntektsmelding(
val journalpostId: String,
val inntektsmeldingV1: Inntektsmelding,
@Serializable(LocalDateSerializer::class)
val bestemmendeFravaersdag: LocalDate?,
)
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import io.mockk.verify
import io.mockk.verifySequence
import kotlinx.serialization.json.JsonElement
import no.nav.helsearbeidsgiver.domene.inntektsmelding.v1.Inntektsmelding
import no.nav.helsearbeidsgiver.domene.inntektsmelding.v1.JournalfoertInntektsmelding
import no.nav.helsearbeidsgiver.felles.BehovType
import no.nav.helsearbeidsgiver.felles.EventName
import no.nav.helsearbeidsgiver.felles.Key
Expand All @@ -24,10 +25,8 @@ import no.nav.helsearbeidsgiver.felles.test.mock.randomDigitString
import no.nav.helsearbeidsgiver.felles.test.rapidsrivers.firstMessage
import no.nav.helsearbeidsgiver.felles.test.rapidsrivers.sendJson
import no.nav.helsearbeidsgiver.inntektsmelding.distribusjon.Mock.toMap
import no.nav.helsearbeidsgiver.utils.collection.mapValuesNotNull
import no.nav.helsearbeidsgiver.utils.json.toJson
import no.nav.helsearbeidsgiver.utils.json.toJsonStr
import no.nav.helsearbeidsgiver.utils.test.date.oktober
import org.apache.kafka.clients.producer.KafkaProducer
import org.apache.kafka.clients.producer.ProducerRecord
import java.util.UUID
Expand Down Expand Up @@ -61,16 +60,14 @@ class DistribusjonRiverTest :
Key.KONTEKST_ID to innkommendeMelding.transaksjonId.toJson(),
Key.JOURNALPOST_ID to innkommendeMelding.journalpostId.toJson(),
Key.INNTEKTSMELDING to innkommendeMelding.inntektsmelding.toJson(Inntektsmelding.serializer()),
Key.BESTEMMENDE_FRAVAERSDAG to innkommendeMelding.bestemmendeFravaersdag?.toJson(),
).mapValuesNotNull { it }
)

val forventetRecord =
ProducerRecord<String, String>(
TOPIC_HELSEARBEIDSGIVER_INNTEKTSMELDING_EKSTERN,
JournalfoertInntektsmelding(
journalpostId = innkommendeMelding.journalpostId,
inntektsmeldingV1 = innkommendeMelding.inntektsmelding,
bestemmendeFravaersdag = innkommendeMelding.bestemmendeFravaersdag,
inntektsmelding = innkommendeMelding.inntektsmelding,
).toJsonStr(JournalfoertInntektsmelding.serializer()),
)

Expand All @@ -95,7 +92,6 @@ class DistribusjonRiverTest :
testRapid.sendJson(
innkommendeMelding
.toMap()
.minus(Key.BESTEMMENDE_FRAVAERSDAG)
.plus(Key.INNTEKTSMELDING to selvbestemtInntektsmelding.toJson(Inntektsmelding.serializer())),
)

Expand All @@ -114,8 +110,7 @@ class DistribusjonRiverTest :
TOPIC_HELSEARBEIDSGIVER_INNTEKTSMELDING_EKSTERN,
JournalfoertInntektsmelding(
journalpostId = innkommendeMelding.journalpostId,
inntektsmeldingV1 = selvbestemtInntektsmelding,
bestemmendeFravaersdag = null,
inntektsmelding = selvbestemtInntektsmelding,
).toJsonStr(JournalfoertInntektsmelding.serializer()),
)

Expand Down Expand Up @@ -182,7 +177,6 @@ private object Mock {
eventName = EventName.INNTEKTSMELDING_JOURNALPOST_ID_LAGRET,
transaksjonId = UUID.randomUUID(),
inntektsmelding = mockInntektsmeldingV1(),
bestemmendeFravaersdag = 20.oktober,
journalpostId = randomDigitString(13),
)

Expand All @@ -191,7 +185,6 @@ private object Mock {
Key.EVENT_NAME to eventName.toJson(),
Key.KONTEKST_ID to transaksjonId.toJson(),
Key.INNTEKTSMELDING to inntektsmelding.toJson(Inntektsmelding.serializer()),
Key.BESTEMMENDE_FRAVAERSDAG to bestemmendeFravaersdag?.toJson(),
Key.JOURNALPOST_ID to journalpostId.toJson(),
).mapValuesNotNull { it }
)
}
Loading

0 comments on commit 5de1dc7

Please sign in to comment.