Skip to content

Commit 34e5bd4

Browse files
committed
repliker bestilling- og fakturastatus fra tiltaksøkonomi
1 parent 912dab5 commit 34e5bd4

File tree

7 files changed

+93
-12
lines changed

7 files changed

+93
-12
lines changed

mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/ApplicationConfig.kt

+2
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,8 @@ data class KafkaProducers(
9595

9696
data class KafkaConsumers(
9797
val gjennomforingerV1: KafkaTopicConsumer.Config,
98+
val replicateBestillingStatus: KafkaTopicConsumer.Config,
99+
val replicateFakturaStatus: KafkaTopicConsumer.Config,
98100
val amtDeltakerV1: KafkaTopicConsumer.Config,
99101
val amtVirksomheterV1: KafkaTopicConsumer.Config,
100102
val amtArrangorMeldingV1: KafkaTopicConsumer.Config,

mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/ApplicationConfigDev.kt

+8
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,14 @@ val ApplicationConfigDev = AppConfig(
8080
id = "amt-tiltakskoordinators-deltakerliste",
8181
topic = "amt.tiltakskoordinators-deltakerliste-v1",
8282
),
83+
replicateBestillingStatus = KafkaTopicConsumer.Config(
84+
id = "replicate-bestilling-status",
85+
topic = "team-mulighetsrommet.tiltaksokonomi.bestilling-status-v1",
86+
),
87+
replicateFakturaStatus = KafkaTopicConsumer.Config(
88+
id = "replicate-faktura-status",
89+
topic = "team-mulighetsrommet.tiltaksokonomi.faktura-status-v1",
90+
),
8391
),
8492
),
8593
auth = AuthConfig(

mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/ApplicationConfigLocal.kt

+8
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,14 @@ val ApplicationConfigLocal = AppConfig(
9191
id = "amt-tiltakskoordinators-deltakerliste",
9292
topic = "amt.tiltakskoordinators-deltakerliste-v1",
9393
),
94+
replicateBestillingStatus = KafkaTopicConsumer.Config(
95+
id = "replicate-bestilling-status",
96+
topic = "tiltaksokonomi.bestilling-status-v1",
97+
),
98+
replicateFakturaStatus = KafkaTopicConsumer.Config(
99+
id = "replicate-faktura-status",
100+
topic = "tiltaksokonomi.faktura-status-v1",
101+
),
94102
),
95103
),
96104
auth = AuthConfig(

mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/ApplicationConfigProd.kt

+8
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,14 @@ val ApplicationConfigProd = AppConfig(
8080
id = "amt-tiltakskoordinators-deltakerliste",
8181
topic = "amt.tiltakskoordinators-deltakerliste-v1",
8282
),
83+
replicateBestillingStatus = KafkaTopicConsumer.Config(
84+
id = "replicate-bestilling-status",
85+
topic = "team-mulighetsrommet.tiltaksokonomi.bestilling-status-v1",
86+
),
87+
replicateFakturaStatus = KafkaTopicConsumer.Config(
88+
id = "replicate-faktura-status",
89+
topic = "team-mulighetsrommet.tiltaksokonomi.faktura-status-v1",
90+
),
8391
),
8492
),
8593
auth = AuthConfig(

mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/plugins/DependencyInjection.kt

+7-12
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,15 @@ import no.nav.mulighetsrommet.api.tasks.GenerateValidationReport
5959
import no.nav.mulighetsrommet.api.tasks.NotifyFailedKafkaEvents
6060
import no.nav.mulighetsrommet.api.tilsagn.OkonomiBestillingService
6161
import no.nav.mulighetsrommet.api.tilsagn.TilsagnService
62+
import no.nav.mulighetsrommet.api.tilsagn.kafka.ReplicateOkonomiBestillingStatus
6263
import no.nav.mulighetsrommet.api.tiltakstype.TiltakstypeService
6364
import no.nav.mulighetsrommet.api.tiltakstype.kafka.SisteTiltakstyperV2KafkaProducer
6465
import no.nav.mulighetsrommet.api.tiltakstype.task.InitialLoadTiltakstyper
6566
import no.nav.mulighetsrommet.api.utbetaling.HentAdressebeskyttetPersonBolkPdlQuery
6667
import no.nav.mulighetsrommet.api.utbetaling.UtbetalingService
6768
import no.nav.mulighetsrommet.api.utbetaling.kafka.AmtArrangorMeldingV1KafkaConsumer
6869
import no.nav.mulighetsrommet.api.utbetaling.kafka.AmtDeltakerV1KafkaConsumer
70+
import no.nav.mulighetsrommet.api.utbetaling.kafka.ReplicateOkonomiFakturaStatus
6971
import no.nav.mulighetsrommet.api.utbetaling.task.GenerateUtbetaling
7072
import no.nav.mulighetsrommet.api.utbetaling.task.JournalforUtbetaling
7173
import no.nav.mulighetsrommet.api.veilederflate.services.BrukerService
@@ -165,18 +167,11 @@ private fun kafka(appConfig: AppConfig) = module {
165167
db = get(),
166168
utbetalingService = get(),
167169
),
168-
AmtVirksomheterV1KafkaConsumer(
169-
config = config.consumers.amtVirksomheterV1,
170-
get(),
171-
),
172-
AmtArrangorMeldingV1KafkaConsumer(
173-
config = config.consumers.amtArrangorMeldingV1,
174-
db = get(),
175-
),
176-
AmtKoordinatorGjennomforingV1KafkaConsumer(
177-
config = config.consumers.amtKoordinatorMeldingV1,
178-
db = get(),
179-
),
170+
AmtVirksomheterV1KafkaConsumer(config.consumers.amtVirksomheterV1, get()),
171+
AmtArrangorMeldingV1KafkaConsumer(config.consumers.amtArrangorMeldingV1, get()),
172+
AmtKoordinatorGjennomforingV1KafkaConsumer(config.consumers.amtKoordinatorMeldingV1, get()),
173+
ReplicateOkonomiBestillingStatus(config.consumers.replicateBestillingStatus, get()),
174+
ReplicateOkonomiFakturaStatus(config.consumers.replicateFakturaStatus, get()),
180175
)
181176
KafkaConsumerOrchestrator(
182177
consumerPreset = config.consumerPreset,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package no.nav.mulighetsrommet.api.tilsagn.kafka
2+
3+
import kotlinx.serialization.json.JsonElement
4+
import kotlinx.serialization.json.decodeFromJsonElement
5+
import no.nav.common.kafka.consumer.util.deserializer.Deserializers.stringDeserializer
6+
import no.nav.mulighetsrommet.api.ApiDatabase
7+
import no.nav.mulighetsrommet.kafka.KafkaTopicConsumer
8+
import no.nav.mulighetsrommet.kafka.serialization.JsonElementDeserializer
9+
import no.nav.mulighetsrommet.serialization.json.JsonIgnoreUnknownKeys
10+
import no.nav.tiltak.okonomi.BestillingStatus
11+
import org.slf4j.LoggerFactory
12+
13+
class ReplicateOkonomiBestillingStatus(
14+
config: Config,
15+
private val db: ApiDatabase,
16+
) : KafkaTopicConsumer<String, JsonElement>(
17+
config,
18+
stringDeserializer(),
19+
JsonElementDeserializer(),
20+
) {
21+
private val logger = LoggerFactory.getLogger(javaClass)
22+
23+
override suspend fun consume(key: String, message: JsonElement): Unit = db.session {
24+
logger.info("Konsumerer statusmelding bestillingsnummer=$key")
25+
26+
val (bestillingsnummer, status) = JsonIgnoreUnknownKeys.decodeFromJsonElement<BestillingStatus>(message)
27+
28+
queries.tilsagn.setBestillingStatus(bestillingsnummer, status)
29+
}
30+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package no.nav.mulighetsrommet.api.utbetaling.kafka
2+
3+
import kotlinx.serialization.json.JsonElement
4+
import kotlinx.serialization.json.decodeFromJsonElement
5+
import no.nav.common.kafka.consumer.util.deserializer.Deserializers.stringDeserializer
6+
import no.nav.mulighetsrommet.api.ApiDatabase
7+
import no.nav.mulighetsrommet.kafka.KafkaTopicConsumer
8+
import no.nav.mulighetsrommet.kafka.serialization.JsonElementDeserializer
9+
import no.nav.mulighetsrommet.serialization.json.JsonIgnoreUnknownKeys
10+
import no.nav.tiltak.okonomi.FakturaStatus
11+
import org.slf4j.LoggerFactory
12+
13+
class ReplicateOkonomiFakturaStatus(
14+
config: Config,
15+
private val db: ApiDatabase,
16+
) : KafkaTopicConsumer<String, JsonElement>(
17+
config,
18+
stringDeserializer(),
19+
JsonElementDeserializer(),
20+
) {
21+
private val logger = LoggerFactory.getLogger(javaClass)
22+
23+
override suspend fun consume(key: String, message: JsonElement): Unit = db.session {
24+
logger.info("Konsumerer statusmelding fakturanummer=$key")
25+
26+
val (fakturanummer, status) = JsonIgnoreUnknownKeys.decodeFromJsonElement<FakturaStatus>(message)
27+
28+
queries.delutbetaling.setFakturaStatus(fakturanummer, status)
29+
}
30+
}

0 commit comments

Comments
 (0)