Skip to content

Commit

Permalink
Fjern overgangsfaselogikk for mottattfelt (#813)
Browse files Browse the repository at this point in the history
  • Loading branch information
bjerga authored Dec 20, 2024
1 parent 4d107e6 commit 32d79f4
Show file tree
Hide file tree
Showing 18 changed files with 58 additions and 57 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,9 @@ class InnsendingProducer(

fun publish(
transaksjonId: UUID,
skjemaInntektsmelding: SkjemaInntektsmelding,
arbeidsgiverFnr: Fnr,
skjemaInntektsmelding: SkjemaInntektsmelding,
mottatt: LocalDateTime,
) {
rapid
.publish(
Expand All @@ -35,7 +36,7 @@ class InnsendingProducer(
mapOf(
Key.ARBEIDSGIVER_FNR to arbeidsgiverFnr.toJson(),
Key.SKJEMA_INNTEKTSMELDING to skjemaInntektsmelding.toJson(SkjemaInntektsmelding.serializer()),
Key.MOTTATT to LocalDateTime.now().toJson(),
Key.MOTTATT to mottatt.toJson(),
).toJson(),
).also {
logger.info("Publiserte til kafka forespørselId: ${skjemaInntektsmelding.forespoerselId} og transaksjonId=$transaksjonId")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import no.nav.helsearbeidsgiver.inntektsmelding.api.utils.respondInternalServerE
import no.nav.helsearbeidsgiver.utils.json.fromJson
import no.nav.helsearbeidsgiver.utils.json.parseJson
import no.nav.helsearbeidsgiver.utils.json.toPretty
import java.time.LocalDateTime
import java.util.UUID

fun Route.innsending(
Expand All @@ -43,6 +44,7 @@ fun Route.innsending(
post(Routes.INNSENDING) {
Metrics.innsendingEndpoint.recordTime(Route::innsending) {
val transaksjonId = UUID.randomUUID()
val mottatt = LocalDateTime.now()

val skjema = lesRequestOrNull()
when {
Expand All @@ -68,7 +70,7 @@ fun Route.innsending(

val avsenderFnr = call.request.lesFnrFraAuthToken()

producer.publish(transaksjonId, skjema, avsenderFnr)
producer.publish(transaksjonId, avsenderFnr, skjema, mottatt)

val resultat = runCatching { redisPoller.hent(transaksjonId) }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,9 @@ class LagreSelvbestemtImProducer(

fun publish(
transaksjonId: UUID,
skjema: SkjemaInntektsmeldingSelvbestemt,
avsenderFnr: Fnr,
skjema: SkjemaInntektsmeldingSelvbestemt,
mottatt: LocalDateTime,
) {
MdcUtils.withLogFields(
Log.event(EventName.SELVBESTEMT_IM_MOTTATT),
Expand All @@ -41,7 +42,7 @@ class LagreSelvbestemtImProducer(
mapOf(
Key.ARBEIDSGIVER_FNR to avsenderFnr.toJson(),
Key.SKJEMA_INNTEKTSMELDING to skjema.toJson(SkjemaInntektsmeldingSelvbestemt.serializer()),
Key.MOTTATT to LocalDateTime.now().toJson(),
Key.MOTTATT to mottatt.toJson(),
).toJson(),
).also {
logger.info("Publiserte til kafka.")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ import no.nav.helsearbeidsgiver.utils.json.serializer.UuidSerializer
import no.nav.helsearbeidsgiver.utils.json.toPretty
import no.nav.helsearbeidsgiver.utils.log.MdcUtils
import no.nav.helsearbeidsgiver.utils.pipe.orDefault
import java.time.LocalDateTime
import java.util.UUID

fun Route.lagreSelvbestemtImRoute(
Expand All @@ -48,6 +49,7 @@ fun Route.lagreSelvbestemtImRoute(

post(Routes.SELVBESTEMT_INNTEKTSMELDING) {
val transaksjonId = UUID.randomUUID()
val mottatt = LocalDateTime.now()

MdcUtils.withLogFields(
Log.apiRoute(Routes.SELVBESTEMT_INNTEKTSMELDING),
Expand Down Expand Up @@ -77,7 +79,7 @@ fun Route.lagreSelvbestemtImRoute(

val avsenderFnr = call.request.lesFnrFraAuthToken()

producer.publish(transaksjonId, skjema, avsenderFnr)
producer.publish(transaksjonId, avsenderFnr, skjema, mottatt)

val resultat =
runCatching {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import com.github.navikt.tbd_libs.rapids_and_rivers.test_support.TestRapid
import io.kotest.core.spec.style.FunSpec
import io.kotest.matchers.ints.shouldBeExactly
import io.kotest.matchers.maps.shouldContainExactly
import io.mockk.every
import no.nav.helsearbeidsgiver.domene.inntektsmelding.v1.skjema.SkjemaInntektsmelding
import no.nav.helsearbeidsgiver.felles.EventName
import no.nav.helsearbeidsgiver.felles.Key
Expand All @@ -15,10 +14,8 @@ import no.nav.helsearbeidsgiver.felles.test.rapidsrivers.firstMessage
import no.nav.helsearbeidsgiver.inntektsmelding.api.innsending.InnsendingProducer
import no.nav.helsearbeidsgiver.utils.json.toJson
import no.nav.helsearbeidsgiver.utils.test.date.oktober
import no.nav.helsearbeidsgiver.utils.test.mock.mockStatic
import no.nav.helsearbeidsgiver.utils.test.wrapper.genererGyldig
import no.nav.helsearbeidsgiver.utils.wrapper.Fnr
import java.time.LocalDateTime
import java.util.UUID

class InnsendingProducerTest :
Expand All @@ -32,11 +29,7 @@ class InnsendingProducerTest :
val skjema = mockSkjemaInntektsmelding()
val mottatt = 12.oktober.atStartOfDay()

mockStatic(LocalDateTime::class) {
every { LocalDateTime.now() } returns mottatt

producer.publish(transaksjonId, skjema, avsenderFnr)
}
producer.publish(transaksjonId, avsenderFnr, skjema, mottatt)

testRapid.inspektør.size shouldBeExactly 1
testRapid.firstMessage().toMap() shouldContainExactly
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import com.github.navikt.tbd_libs.rapids_and_rivers.test_support.TestRapid
import io.kotest.core.spec.style.FunSpec
import io.kotest.matchers.ints.shouldBeExactly
import io.kotest.matchers.maps.shouldContainExactly
import io.mockk.every
import no.nav.helsearbeidsgiver.domene.inntektsmelding.v1.skjema.SkjemaInntektsmeldingSelvbestemt
import no.nav.helsearbeidsgiver.felles.EventName
import no.nav.helsearbeidsgiver.felles.Key
Expand All @@ -14,10 +13,8 @@ import no.nav.helsearbeidsgiver.felles.test.mock.mockSkjemaInntektsmeldingSelvbe
import no.nav.helsearbeidsgiver.felles.test.rapidsrivers.firstMessage
import no.nav.helsearbeidsgiver.utils.json.toJson
import no.nav.helsearbeidsgiver.utils.test.date.oktober
import no.nav.helsearbeidsgiver.utils.test.mock.mockStatic
import no.nav.helsearbeidsgiver.utils.test.wrapper.genererGyldig
import no.nav.helsearbeidsgiver.utils.wrapper.Fnr
import java.time.LocalDateTime
import java.util.UUID

class LagreSelvbestemtImProducerTest :
Expand All @@ -32,11 +29,7 @@ class LagreSelvbestemtImProducerTest :
val skjema = mockSkjemaInntektsmeldingSelvbestemt()
val mottatt = 14.oktober.atStartOfDay()

mockStatic(LocalDateTime::class) {
every { LocalDateTime.now() } returns mottatt

producer.publish(transaksjonId, skjema, avsenderFnr)
}
producer.publish(transaksjonId, avsenderFnr, skjema, mottatt)

testRapid.inspektør.size shouldBeExactly 1
testRapid.firstMessage().toMap() shouldContainExactly
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import no.nav.helsearbeidsgiver.felles.Key
import no.nav.helsearbeidsgiver.felles.domene.Forespoersel
import no.nav.helsearbeidsgiver.felles.domene.Person
import no.nav.helsearbeidsgiver.felles.json.les
import no.nav.helsearbeidsgiver.felles.json.lesOrNull
import no.nav.helsearbeidsgiver.felles.json.orgMapSerializer
import no.nav.helsearbeidsgiver.felles.json.personMapSerializer
import no.nav.helsearbeidsgiver.felles.json.toJson
Expand Down Expand Up @@ -42,7 +41,7 @@ data class Steg0(
val avsenderFnr: Fnr,
val skjema: SkjemaInntektsmelding,
val innsendingId: Long,
val mottatt: LocalDateTime?,
val mottatt: LocalDateTime,
)

data class Steg1(
Expand Down Expand Up @@ -77,7 +76,7 @@ class BerikInntektsmeldingService(
avsenderFnr = Key.ARBEIDSGIVER_FNR.les(Fnr.serializer(), melding),
skjema = Key.SKJEMA_INNTEKTSMELDING.les(SkjemaInntektsmelding.serializer(), melding),
innsendingId = Key.INNSENDING_ID.les(Long.serializer(), melding),
mottatt = Key.MOTTATT.lesOrNull(LocalDateTimeSerializer, melding),
mottatt = Key.MOTTATT.les(LocalDateTimeSerializer, melding),
)

override fun lesSteg1(melding: Map<Key, JsonElement>): Steg1 =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,7 @@ import no.nav.helsearbeidsgiver.domene.inntektsmelding.v1.skjema.SkjemaInntektsm
import no.nav.helsearbeidsgiver.felles.domene.Forespoersel
import no.nav.helsearbeidsgiver.felles.domene.ForslagInntekt
import no.nav.helsearbeidsgiver.felles.utils.zoneIdOslo
import no.nav.helsearbeidsgiver.utils.pipe.orDefault
import java.time.LocalDateTime
import java.time.ZonedDateTime
import java.util.UUID

fun mapInntektsmelding(
Expand All @@ -21,7 +19,7 @@ fun mapInntektsmelding(
virksomhetNavn: String,
sykmeldtNavn: String,
avsenderNavn: String,
mottatt: LocalDateTime?,
mottatt: LocalDateTime,
): Inntektsmelding {
val agp =
if (forespoersel.forespurtData.arbeidsgiverperiode.paakrevd) {
Expand Down Expand Up @@ -78,7 +76,7 @@ fun mapInntektsmelding(
inntekt = inntekt,
refusjon = refusjon,
aarsakInnsending = aarsakInnsending,
mottatt = mottatt?.atZone(zoneIdOslo).orDefault(ZonedDateTime.now()).toOffsetDateTime(),
mottatt = mottatt.atZone(zoneIdOslo).toOffsetDateTime(),
vedtaksperiodeId = forespoersel.vedtaksperiodeId,
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ import no.nav.helsearbeidsgiver.utils.json.serializer.LocalDateSerializer
import no.nav.helsearbeidsgiver.utils.json.serializer.UuidSerializer
import no.nav.helsearbeidsgiver.utils.json.serializer.set
import no.nav.helsearbeidsgiver.utils.json.toJson
import no.nav.helsearbeidsgiver.utils.test.date.kl
import no.nav.helsearbeidsgiver.utils.test.date.november
import no.nav.helsearbeidsgiver.utils.test.date.oktober
import no.nav.helsearbeidsgiver.utils.test.wrapper.genererGyldig
import no.nav.helsearbeidsgiver.utils.wrapper.Fnr
Expand Down Expand Up @@ -178,6 +180,7 @@ private object Mock {
Key.ARBEIDSGIVER_FNR to avsender.fnr.toJson(),
Key.SKJEMA_INNTEKTSMELDING to skjema.toJson(SkjemaInntektsmelding.serializer()),
Key.INNSENDING_ID to INNSENDING_ID.toJson(Long.serializer()),
Key.MOTTATT to 13.november.kl(15, 10, 0, 0).toJson(),
).toJson(),
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,14 +94,14 @@ class InntektsmeldingRepository(

fun lagreInntektsmeldingSkjema(
inntektsmeldingSkjema: SkjemaInntektsmelding,
mottatt: LocalDateTime?,
mottatt: LocalDateTime,
): Long =
Metrics.dbInntektsmelding.recordTime(InntektsmeldingRepository::lagreInntektsmeldingSkjema) {
transaction(db) {
InntektsmeldingEntitet.insert {
it[this.forespoerselId] = inntektsmeldingSkjema.forespoerselId.toString()
it[skjema] = inntektsmeldingSkjema
it[innsendt] = mottatt ?: LocalDateTime.now()
it[innsendt] = mottatt
} get InntektsmeldingEntitet.id
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import no.nav.helsearbeidsgiver.felles.Key
import no.nav.helsearbeidsgiver.felles.domene.Forespoersel
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.toMap
import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Fail
Expand All @@ -34,7 +33,7 @@ data class LagreImSkjemaMelding(
val data: Map<Key, JsonElement>,
val forespoersel: Forespoersel,
val skjema: SkjemaInntektsmelding,
val mottatt: LocalDateTime?,
val mottatt: LocalDateTime,
)

class LagreImSkjemaRiver(
Expand All @@ -55,7 +54,7 @@ class LagreImSkjemaRiver(
data = data,
forespoersel = Key.FORESPOERSEL_SVAR.les(Forespoersel.serializer(), data),
skjema = Key.SKJEMA_INNTEKTSMELDING.les(SkjemaInntektsmelding.serializer(), data),
mottatt = Key.MOTTATT.lesOrNull(LocalDateTimeSerializer, data),
mottatt = Key.MOTTATT.les(LocalDateTimeSerializer, data),
)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ import no.nav.helsearbeidsgiver.felles.test.mock.mockSkjemaInntektsmelding
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.collection.mapValuesNotNull
import no.nav.helsearbeidsgiver.utils.json.toJson
import no.nav.helsearbeidsgiver.utils.test.date.juli
import no.nav.helsearbeidsgiver.utils.test.date.kl
Expand Down Expand Up @@ -89,11 +88,10 @@ class LagreImSkjemaRiverTest :
mapOf(
Key.FORESPOERSEL_SVAR to innkommendeMelding.forespoersel.toJson(Forespoersel.serializer()),
Key.SKJEMA_INNTEKTSMELDING to innkommendeMelding.skjema.toJson(SkjemaInntektsmelding.serializer()),
Key.MOTTATT to innkommendeMelding.mottatt?.toJson(),
Key.MOTTATT to innkommendeMelding.mottatt.toJson(),
Key.ER_DUPLIKAT_IM to false.toJson(Boolean.serializer()),
Key.INNSENDING_ID to innsendingId.toJson(Long.serializer()),
).mapValuesNotNull { it }
.toJson(),
).toJson(),
)

verifySequence {
Expand Down Expand Up @@ -124,11 +122,10 @@ class LagreImSkjemaRiverTest :
mapOf(
Key.FORESPOERSEL_SVAR to innkommendeMelding.forespoersel.toJson(Forespoersel.serializer()),
Key.SKJEMA_INNTEKTSMELDING to innkommendeMelding.skjema.toJson(SkjemaInntektsmelding.serializer()),
Key.MOTTATT to innkommendeMelding.mottatt?.toJson(),
Key.MOTTATT to innkommendeMelding.mottatt.toJson(),
Key.ER_DUPLIKAT_IM to true.toJson(Boolean.serializer()),
Key.INNSENDING_ID to innsendingIdVedDuplikat.toJson(Long.serializer()),
).mapValuesNotNull { it }
.toJson(),
).toJson(),
)

verifySequence {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,12 @@ import no.nav.helsearbeidsgiver.felles.Key
import no.nav.helsearbeidsgiver.felles.domene.Forespoersel
import no.nav.helsearbeidsgiver.felles.domene.ResultJson
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.rapidsrivers.model.Fail
import no.nav.helsearbeidsgiver.felles.rapidsrivers.publish
import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisStore
import no.nav.helsearbeidsgiver.felles.rapidsrivers.service.ServiceMed2Steg
import no.nav.helsearbeidsgiver.felles.utils.Log
import no.nav.helsearbeidsgiver.utils.collection.mapValuesNotNull
import no.nav.helsearbeidsgiver.utils.json.serializer.LocalDateTimeSerializer
import no.nav.helsearbeidsgiver.utils.json.serializer.UuidSerializer
import no.nav.helsearbeidsgiver.utils.json.toJson
Expand All @@ -33,7 +31,7 @@ data class Steg0(
val kontekstId: UUID,
val avsenderFnr: Fnr,
val skjema: SkjemaInntektsmelding,
val mottatt: LocalDateTime?,
val mottatt: LocalDateTime,
)

data class Steg1(
Expand All @@ -59,7 +57,7 @@ class InnsendingService(
kontekstId = Key.KONTEKST_ID.les(UuidSerializer, melding),
avsenderFnr = Key.ARBEIDSGIVER_FNR.les(Fnr.serializer(), melding),
skjema = Key.SKJEMA_INNTEKTSMELDING.les(SkjemaInntektsmelding.serializer(), melding),
mottatt = Key.MOTTATT.lesOrNull(LocalDateTimeSerializer, melding),
mottatt = Key.MOTTATT.les(LocalDateTimeSerializer, melding),
)

override fun lesSteg1(melding: Map<Key, JsonElement>): Steg1 =
Expand Down Expand Up @@ -130,9 +128,8 @@ class InnsendingService(
Key.SKJEMA_INNTEKTSMELDING to steg0.skjema.toJson(SkjemaInntektsmelding.serializer()),
Key.FORESPOERSEL_SVAR to steg1.forespoersel.toJson(Forespoersel.serializer()),
Key.INNSENDING_ID to steg2.innsendingId.toJson(Long.serializer()),
Key.MOTTATT to steg0.mottatt?.toJson(),
).mapValuesNotNull { it }
.toJson(),
Key.MOTTATT to steg0.mottatt.toJson(),
).toJson(),
)

MdcUtils.withLogFields(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ import no.nav.helsearbeidsgiver.utils.test.date.august
import no.nav.helsearbeidsgiver.utils.test.date.desember
import no.nav.helsearbeidsgiver.utils.test.date.juli
import no.nav.helsearbeidsgiver.utils.test.date.juni
import no.nav.helsearbeidsgiver.utils.test.date.kl
import no.nav.helsearbeidsgiver.utils.test.wrapper.genererGyldig
import no.nav.helsearbeidsgiver.utils.wrapper.Fnr
import no.nav.helsearbeidsgiver.utils.wrapper.Orgnr
Expand Down Expand Up @@ -81,6 +82,7 @@ class BerikInntektsmeldingServiceIT : EndToEndTest() {
Key.ARBEIDSGIVER_FNR to Mock.fnrAg.toJson(),
Key.SKJEMA_INNTEKTSMELDING to Mock.skjema.toJson(SkjemaInntektsmelding.serializer()),
Key.INNSENDING_ID to innsendingId.toJson(Long.serializer()),
Key.MOTTATT to Mock.mottatt.toJson(),
).toJson(),
)

Expand Down Expand Up @@ -205,6 +207,7 @@ class BerikInntektsmeldingServiceIT : EndToEndTest() {
Key.ARBEIDSGIVER_FNR to Mock.fnrAg.toJson(),
Key.SKJEMA_INNTEKTSMELDING to Mock.skjema.toJson(SkjemaInntektsmelding.serializer()),
Key.INNSENDING_ID to innsendingId.toJson(Long.serializer()),
Key.MOTTATT to Mock.mottatt.toJson(),
).toJson(),
)

Expand Down Expand Up @@ -325,6 +328,7 @@ class BerikInntektsmeldingServiceIT : EndToEndTest() {
val fnrAg = Fnr.genererGyldig()
val orgnr = Orgnr.genererGyldig()
val transaksjonId: UUID = UUID.randomUUID()
val mottatt = 19.august.kl(19, 5, 0, 0)

val skjema = mockSkjemaInntektsmelding()

Expand Down
Loading

0 comments on commit 32d79f4

Please sign in to comment.