Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit c089724

Browse files
committedFeb 8, 2024
Fjern CXF fra TilbakekrevingsClient
1 parent 3e8bd4d commit c089724

File tree

18 files changed

+371
-304
lines changed

18 files changed

+371
-304
lines changed
 

‎client/src/main/kotlin/no/nav/su/se/bakover/client/ProdClientsBuilder.kt

+3-6
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ import no.nav.su.se.bakover.client.person.PersonClient
2323
import no.nav.su.se.bakover.client.person.PersonClientConfig
2424
import no.nav.su.se.bakover.client.skjerming.SkjermingClient
2525
import no.nav.su.se.bakover.client.sts.StsClient
26-
import no.nav.su.se.bakover.client.sts.StsSamlClient
2726
import no.nav.su.se.bakover.common.SU_SE_BAKOVER_CONSUMER_ID
27+
import no.nav.su.se.bakover.common.domain.auth.SamlTokenProvider
2828
import no.nav.su.se.bakover.common.infrastructure.config.ApplicationConfig
2929
import no.nav.su.se.bakover.common.infrastructure.jms.JmsConfig
3030
import no.nav.su.se.bakover.dokument.infrastructure.client.PdfClient
@@ -39,6 +39,7 @@ data class ProdClientsBuilder(
3939
private val jmsConfig: JmsConfig,
4040
private val clock: Clock,
4141
private val metrics: ClientMetrics,
42+
private val samlTokenProvider: SamlTokenProvider,
4243
) : ClientsBuilder {
4344

4445
override fun build(applicationConfig: ApplicationConfig): Clients {
@@ -118,11 +119,7 @@ data class ProdClientsBuilder(
118119
kodeverk = kodeverk,
119120
simuleringClient = SimuleringSoapClient(
120121
baseUrl = applicationConfig.oppdrag.simulering.url,
121-
samlTokenProvider = StsSamlClient(
122-
baseUrl = applicationConfig.clientsConfig.stsSamlUrl,
123-
serviceUser = serviceUser,
124-
clock = clock,
125-
),
122+
samlTokenProvider = samlTokenProvider,
126123
clock = clock,
127124
),
128125
utbetalingPublisher = UtbetalingMqPublisher(

‎client/src/main/kotlin/no/nav/su/se/bakover/client/oppdrag/simulering/SimuleringSoapClient.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import arrow.core.flatMap
77
import arrow.core.getOrElse
88
import arrow.core.left
99
import no.nav.su.se.bakover.common.domain.auth.SamlTokenProvider
10+
import no.nav.su.se.bakover.common.infrastructure.soap.buildSoapEnvelope
1011
import no.nav.su.se.bakover.common.sikkerLogg
1112
import org.slf4j.LoggerFactory
1213
import økonomi.domain.simulering.Simulering
@@ -52,7 +53,7 @@ internal class SimuleringSoapClient(
5253
sikkerLogg.error("Feil ved simulering: Kunne ikke hente SAML-token for saksnummer: $saksnummer. soapBody: $soapBody")
5354
return SimuleringFeilet.TekniskFeil.left()
5455
}.toString()
55-
val soapRequest = buildXmlRequestSoapEnvelope(
56+
val soapRequest = buildSoapEnvelope(
5657
action = ACTION,
5758
messageId = UUID.randomUUID().toString(),
5859
serviceUrl = baseUrl,

‎client/src/main/kotlin/no/nav/su/se/bakover/client/oppdrag/simulering/SimuleringSoapBuilder.kt ‎common/infrastructure/src/main/kotlin/no/nav/su/se/bakover/common/infrastructure/soap/SoapEnvelopeBuilder.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
@file:Suppress("HttpUrlsUsage")
22

3-
package no.nav.su.se.bakover.client.oppdrag.simulering
3+
package no.nav.su.se.bakover.common.infrastructure.soap
44

5-
internal fun buildXmlRequestSoapEnvelope(
5+
fun buildSoapEnvelope(
66
action: String,
77
messageId: String,
88
serviceUrl: String,

‎test-common/src/main/kotlin/application/HttpServerTestSetup.kt

+2
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import no.nav.su.se.bakover.hendelse.domain.HendelsekonsumenterRepo
3232
import no.nav.su.se.bakover.oppgave.domain.OppgaveHendelseRepo
3333
import no.nav.su.se.bakover.service.tilbakekreving.TilbakekrevingUnderRevurderingService
3434
import no.nav.su.se.bakover.test.applicationConfig
35+
import no.nav.su.se.bakover.test.auth.FakeSamlTokenProvider
3536
import no.nav.su.se.bakover.test.fixedClock
3637
import no.nav.su.se.bakover.test.jwt.asBearerToken
3738
import no.nav.su.se.bakover.test.jwt.jwtStub
@@ -98,6 +99,7 @@ fun Application.runApplicationWithMocks(
9899
brevService = brevService,
99100
tilbakekrevingConfig = tilbakekrevingConfig,
100101
dbMetrics = dbMetrics,
102+
samlTokenProvider = FakeSamlTokenProvider(),
101103
)
102104
},
103105
dokumentkomponenter: Dokumentkomponenter = mock(),

‎tilbakekreving/infrastructure/src/main/kotlin/tilbakekreving/infrastructure/client/TilbakekrevingClients.kt

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package tilbakekreving.infrastructure.client
22

3-
import no.nav.su.se.bakover.common.domain.config.TilbakekrevingConfig
3+
import no.nav.su.se.bakover.common.domain.auth.SamlTokenProvider
44
import tilbakekreving.domain.vedtak.Tilbakekrevingsklient
55
import java.time.Clock
66

@@ -9,14 +9,14 @@ class TilbakekrevingClients(
99
) {
1010
companion object {
1111
fun create(
12-
tilbakekrevingConfig: TilbakekrevingConfig,
12+
baseUrl: String,
13+
samlTokenProvider: SamlTokenProvider,
1314
clock: Clock,
1415
): TilbakekrevingClients {
1516
return TilbakekrevingClients(
1617
tilbakekrevingsklient = TilbakekrevingSoapClient(
17-
tilbakekrevingPortType = TilbakekrevingSoapClientConfig(
18-
tilbakekrevingConfig = tilbakekrevingConfig,
19-
).tilbakekrevingSoapService(),
18+
baseUrl = baseUrl,
19+
samlTokenProvider = samlTokenProvider,
2020
clock = clock,
2121
),
2222
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
@file:Suppress("HttpUrlsUsage")
2+
3+
package tilbakekreving.infrastructure.client
4+
5+
import no.nav.su.se.bakover.common.ident.NavIdentBruker
6+
import tilbakekreving.domain.vurdering.PeriodevurderingMedKrav
7+
import tilbakekreving.domain.vurdering.VurderingerMedKrav
8+
import tilbakekreving.infrastructure.client.dto.AksjonsKode
9+
import tilbakekreving.infrastructure.client.dto.Skyld
10+
import tilbakekreving.infrastructure.client.dto.TilbakekrevingsHjemmel
11+
import tilbakekreving.infrastructure.client.dto.Tilbakekrevingsresultat
12+
import tilbakekreving.infrastructure.client.dto.TilbakekrevingsÅrsak
13+
import kotlin.math.max
14+
15+
/**
16+
* Se: https://confluence.adeo.no/display/OKSY/Detaljer+om+de+enkelte+ID-koder
17+
* Se: https://github.com/navikt/tjenestespesifikasjoner/blob/master/tilbakekreving-v1-tjenestespesifikasjon/src/main/wsdl/no/nav/tilbakekreving/tilbakekreving-v1-tjenestespesifikasjon.wsdl
18+
*/
19+
internal fun buildTilbakekrevingSoapRequest(
20+
vurderingerMedKrav: VurderingerMedKrav,
21+
attestertAv: NavIdentBruker.Attestant,
22+
): String {
23+
// TODO jah: Vurder om vi skal legge til datoVedtakFagsystem istedenfor å få dagens dato.
24+
return """
25+
<ns4:tilbakekrevingsvedtakRequest xmlns:ns2="urn:no:nav:tilbakekreving:typer:v1"
26+
xmlns:ns4="http://okonomi.nav.no/tilbakekrevingService/"
27+
xmlns:ns3="urn:no:nav:tilbakekreving:tilbakekrevingsvedtak:vedtak:v1">
28+
<tilbakekrevingsvedtak>
29+
<ns3:kodeAksjon>${AksjonsKode.FATT_VEDTAK.nummer}</ns3:kodeAksjon>
30+
<ns3:vedtakId>${vurderingerMedKrav.eksternVedtakId}</ns3:vedtakId>
31+
<ns3:kodeHjemmel>${TilbakekrevingsHjemmel.T}</ns3:kodeHjemmel>
32+
<ns3:renterBeregnes>N</ns3:renterBeregnes>
33+
<ns3:enhetAnsvarlig>8020</ns3:enhetAnsvarlig>
34+
<ns3:kontrollfelt>${vurderingerMedKrav.eksternKontrollfelt}</ns3:kontrollfelt>
35+
<ns3:saksbehId>$attestertAv</ns3:saksbehId>
36+
${
37+
vurderingerMedKrav.perioder.joinToString(separator = "\n") { periode ->
38+
"""
39+
<ns3:tilbakekrevingsperiode>
40+
<ns3:periode>
41+
<ns2:fom>${periode.periode.fraOgMed}</ns2:fom>
42+
<ns2:tom>${periode.periode.tilOgMed}</ns2:tom>
43+
</ns3:periode>
44+
<ns3:renterBeregnes>N</ns3:renterBeregnes>
45+
<ns3:belopRenter>0</ns3:belopRenter>
46+
<ns3:tilbakekrevingsbelop>
47+
<ns3:kodeKlasse>SUUFORE</ns3:kodeKlasse>
48+
<ns3:belopOpprUtbet>${periode.bruttoTidligereUtbetalt}</ns3:belopOpprUtbet>
49+
<ns3:belopNy>${periode.bruttoNyUtbetaling}</ns3:belopNy>
50+
<ns3:belopTilbakekreves>${periode.bruttoSkalTilbakekreve}}</ns3:belopTilbakekreves>
51+
<ns3:belopUinnkrevd>${periode.bruttoSkalIkkeTilbakekreve}</ns3:belopUinnkrevd>
52+
<ns3:belopSkatt>${periode.skattSomGårTilReduksjon}</ns3:belopSkatt>
53+
<ns3:kodeResultat>${
54+
when (periode) {
55+
is PeriodevurderingMedKrav.SkalIkkeTilbakekreve -> Tilbakekrevingsresultat.INGEN_TILBAKEKREV.toString()
56+
is PeriodevurderingMedKrav.SkalTilbakekreve -> Tilbakekrevingsresultat.FULL_TILBAKEKREV.toString()
57+
}
58+
}</ns3:kodeResultat>
59+
<ns3:kodeAarsak>${TilbakekrevingsÅrsak.ANNET}</ns3:kodeAarsak>
60+
<ns3:kodeSkyld>${
61+
when (periode) {
62+
is PeriodevurderingMedKrav.SkalIkkeTilbakekreve -> Skyld.IKKE_FORDELT.toString()
63+
is PeriodevurderingMedKrav.SkalTilbakekreve -> Skyld.BRUKER.toString()
64+
}
65+
}</ns3:kodeSkyld>
66+
</ns3:tilbakekrevingsbelop>
67+
<ns3:tilbakekrevingsbelop>
68+
<ns3:kodeKlasse>KL_KODE_FEIL_INNT</ns3:kodeKlasse>
69+
<ns3:belopOpprUtbet>0</ns3:belopOpprUtbet>
70+
<ns3:belopNy>${max(periode.bruttoSkalTilbakekreve, periode.bruttoSkalIkkeTilbakekreve)}</ns3:belopNy>
71+
<ns3:belopTilbakekreves>0</ns3:belopTilbakekreves>
72+
<ns3:belopUinnkrevd>0</ns3:belopUinnkrevd>
73+
</ns3:tilbakekrevingsbelop>
74+
</ns3:tilbakekrevingsperiode>"""
75+
}
76+
}
77+
</tilbakekrevingsvedtak>
78+
</ns4:tilbakekrevingsvedtakRequest>
79+
""".trimIndent()
80+
}

0 commit comments

Comments
 (0)