Skip to content

Commit

Permalink
Fjern CXF fra TilbakekrevingsClient
Browse files Browse the repository at this point in the history
  • Loading branch information
hestad committed Feb 8, 2024
1 parent 3e8bd4d commit c089724
Show file tree
Hide file tree
Showing 18 changed files with 371 additions and 304 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ import no.nav.su.se.bakover.client.person.PersonClient
import no.nav.su.se.bakover.client.person.PersonClientConfig
import no.nav.su.se.bakover.client.skjerming.SkjermingClient
import no.nav.su.se.bakover.client.sts.StsClient
import no.nav.su.se.bakover.client.sts.StsSamlClient
import no.nav.su.se.bakover.common.SU_SE_BAKOVER_CONSUMER_ID
import no.nav.su.se.bakover.common.domain.auth.SamlTokenProvider
import no.nav.su.se.bakover.common.infrastructure.config.ApplicationConfig
import no.nav.su.se.bakover.common.infrastructure.jms.JmsConfig
import no.nav.su.se.bakover.dokument.infrastructure.client.PdfClient
Expand All @@ -39,6 +39,7 @@ data class ProdClientsBuilder(
private val jmsConfig: JmsConfig,
private val clock: Clock,
private val metrics: ClientMetrics,
private val samlTokenProvider: SamlTokenProvider,
) : ClientsBuilder {

override fun build(applicationConfig: ApplicationConfig): Clients {
Expand Down Expand Up @@ -118,11 +119,7 @@ data class ProdClientsBuilder(
kodeverk = kodeverk,
simuleringClient = SimuleringSoapClient(
baseUrl = applicationConfig.oppdrag.simulering.url,
samlTokenProvider = StsSamlClient(
baseUrl = applicationConfig.clientsConfig.stsSamlUrl,
serviceUser = serviceUser,
clock = clock,
),
samlTokenProvider = samlTokenProvider,
clock = clock,
),
utbetalingPublisher = UtbetalingMqPublisher(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import arrow.core.flatMap
import arrow.core.getOrElse
import arrow.core.left
import no.nav.su.se.bakover.common.domain.auth.SamlTokenProvider
import no.nav.su.se.bakover.common.infrastructure.soap.buildSoapEnvelope
import no.nav.su.se.bakover.common.sikkerLogg
import org.slf4j.LoggerFactory
import økonomi.domain.simulering.Simulering
Expand Down Expand Up @@ -52,7 +53,7 @@ internal class SimuleringSoapClient(
sikkerLogg.error("Feil ved simulering: Kunne ikke hente SAML-token for saksnummer: $saksnummer. soapBody: $soapBody")
return SimuleringFeilet.TekniskFeil.left()
}.toString()
val soapRequest = buildXmlRequestSoapEnvelope(
val soapRequest = buildSoapEnvelope(
action = ACTION,
messageId = UUID.randomUUID().toString(),
serviceUrl = baseUrl,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
@file:Suppress("HttpUrlsUsage")

package no.nav.su.se.bakover.client.oppdrag.simulering
package no.nav.su.se.bakover.common.infrastructure.soap

internal fun buildXmlRequestSoapEnvelope(
fun buildSoapEnvelope(
action: String,
messageId: String,
serviceUrl: String,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ import no.nav.su.se.bakover.hendelse.domain.HendelsekonsumenterRepo
import no.nav.su.se.bakover.oppgave.domain.OppgaveHendelseRepo
import no.nav.su.se.bakover.service.tilbakekreving.TilbakekrevingUnderRevurderingService
import no.nav.su.se.bakover.test.applicationConfig
import no.nav.su.se.bakover.test.auth.FakeSamlTokenProvider
import no.nav.su.se.bakover.test.fixedClock
import no.nav.su.se.bakover.test.jwt.asBearerToken
import no.nav.su.se.bakover.test.jwt.jwtStub
Expand Down Expand Up @@ -98,6 +99,7 @@ fun Application.runApplicationWithMocks(
brevService = brevService,
tilbakekrevingConfig = tilbakekrevingConfig,
dbMetrics = dbMetrics,
samlTokenProvider = FakeSamlTokenProvider(),
)
},
dokumentkomponenter: Dokumentkomponenter = mock(),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package tilbakekreving.infrastructure.client

import no.nav.su.se.bakover.common.domain.config.TilbakekrevingConfig
import no.nav.su.se.bakover.common.domain.auth.SamlTokenProvider
import tilbakekreving.domain.vedtak.Tilbakekrevingsklient
import java.time.Clock

Expand All @@ -9,14 +9,14 @@ class TilbakekrevingClients(
) {
companion object {
fun create(
tilbakekrevingConfig: TilbakekrevingConfig,
baseUrl: String,
samlTokenProvider: SamlTokenProvider,
clock: Clock,
): TilbakekrevingClients {
return TilbakekrevingClients(
tilbakekrevingsklient = TilbakekrevingSoapClient(
tilbakekrevingPortType = TilbakekrevingSoapClientConfig(
tilbakekrevingConfig = tilbakekrevingConfig,
).tilbakekrevingSoapService(),
baseUrl = baseUrl,
samlTokenProvider = samlTokenProvider,
clock = clock,
),
)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
@file:Suppress("HttpUrlsUsage")

package tilbakekreving.infrastructure.client

import no.nav.su.se.bakover.common.ident.NavIdentBruker
import tilbakekreving.domain.vurdering.PeriodevurderingMedKrav
import tilbakekreving.domain.vurdering.VurderingerMedKrav
import tilbakekreving.infrastructure.client.dto.AksjonsKode
import tilbakekreving.infrastructure.client.dto.Skyld
import tilbakekreving.infrastructure.client.dto.TilbakekrevingsHjemmel
import tilbakekreving.infrastructure.client.dto.Tilbakekrevingsresultat
import tilbakekreving.infrastructure.client.dto.TilbakekrevingsÅrsak
import kotlin.math.max

/**
* Se: https://confluence.adeo.no/display/OKSY/Detaljer+om+de+enkelte+ID-koder
* Se: https://github.com/navikt/tjenestespesifikasjoner/blob/master/tilbakekreving-v1-tjenestespesifikasjon/src/main/wsdl/no/nav/tilbakekreving/tilbakekreving-v1-tjenestespesifikasjon.wsdl
*/
internal fun buildTilbakekrevingSoapRequest(
vurderingerMedKrav: VurderingerMedKrav,
attestertAv: NavIdentBruker.Attestant,
): String {
// TODO jah: Vurder om vi skal legge til datoVedtakFagsystem istedenfor å få dagens dato.
return """
<ns4:tilbakekrevingsvedtakRequest xmlns:ns2="urn:no:nav:tilbakekreving:typer:v1"
xmlns:ns4="http://okonomi.nav.no/tilbakekrevingService/"
xmlns:ns3="urn:no:nav:tilbakekreving:tilbakekrevingsvedtak:vedtak:v1">
<tilbakekrevingsvedtak>
<ns3:kodeAksjon>${AksjonsKode.FATT_VEDTAK.nummer}</ns3:kodeAksjon>
<ns3:vedtakId>${vurderingerMedKrav.eksternVedtakId}</ns3:vedtakId>
<ns3:kodeHjemmel>${TilbakekrevingsHjemmel.T}</ns3:kodeHjemmel>
<ns3:renterBeregnes>N</ns3:renterBeregnes>
<ns3:enhetAnsvarlig>8020</ns3:enhetAnsvarlig>
<ns3:kontrollfelt>${vurderingerMedKrav.eksternKontrollfelt}</ns3:kontrollfelt>
<ns3:saksbehId>$attestertAv</ns3:saksbehId>
${
vurderingerMedKrav.perioder.joinToString(separator = "\n") { periode ->
"""
<ns3:tilbakekrevingsperiode>
<ns3:periode>
<ns2:fom>${periode.periode.fraOgMed}</ns2:fom>
<ns2:tom>${periode.periode.tilOgMed}</ns2:tom>
</ns3:periode>
<ns3:renterBeregnes>N</ns3:renterBeregnes>
<ns3:belopRenter>0</ns3:belopRenter>
<ns3:tilbakekrevingsbelop>
<ns3:kodeKlasse>SUUFORE</ns3:kodeKlasse>
<ns3:belopOpprUtbet>${periode.bruttoTidligereUtbetalt}</ns3:belopOpprUtbet>
<ns3:belopNy>${periode.bruttoNyUtbetaling}</ns3:belopNy>
<ns3:belopTilbakekreves>${periode.bruttoSkalTilbakekreve}}</ns3:belopTilbakekreves>
<ns3:belopUinnkrevd>${periode.bruttoSkalIkkeTilbakekreve}</ns3:belopUinnkrevd>
<ns3:belopSkatt>${periode.skattSomGårTilReduksjon}</ns3:belopSkatt>
<ns3:kodeResultat>${
when (periode) {
is PeriodevurderingMedKrav.SkalIkkeTilbakekreve -> Tilbakekrevingsresultat.INGEN_TILBAKEKREV.toString()
is PeriodevurderingMedKrav.SkalTilbakekreve -> Tilbakekrevingsresultat.FULL_TILBAKEKREV.toString()
}
}</ns3:kodeResultat>
<ns3:kodeAarsak>${TilbakekrevingsÅrsak.ANNET}</ns3:kodeAarsak>
<ns3:kodeSkyld>${
when (periode) {
is PeriodevurderingMedKrav.SkalIkkeTilbakekreve -> Skyld.IKKE_FORDELT.toString()
is PeriodevurderingMedKrav.SkalTilbakekreve -> Skyld.BRUKER.toString()
}
}</ns3:kodeSkyld>
</ns3:tilbakekrevingsbelop>
<ns3:tilbakekrevingsbelop>
<ns3:kodeKlasse>KL_KODE_FEIL_INNT</ns3:kodeKlasse>
<ns3:belopOpprUtbet>0</ns3:belopOpprUtbet>
<ns3:belopNy>${max(periode.bruttoSkalTilbakekreve, periode.bruttoSkalIkkeTilbakekreve)}</ns3:belopNy>
<ns3:belopTilbakekreves>0</ns3:belopTilbakekreves>
<ns3:belopUinnkrevd>0</ns3:belopUinnkrevd>
</ns3:tilbakekrevingsbelop>
</ns3:tilbakekrevingsperiode>"""
}
}
</tilbakekrevingsvedtak>
</ns4:tilbakekrevingsvedtakRequest>
""".trimIndent()
}
Loading

0 comments on commit c089724

Please sign in to comment.