Skip to content

Commit

Permalink
Merge branch 'main' into dependabot/maven/io.mockk-mockk-jvm-1.13.8
Browse files Browse the repository at this point in the history
  • Loading branch information
stigebil authored Jan 24, 2024
2 parents 08c09a6 + acd9d57 commit c524191
Show file tree
Hide file tree
Showing 23 changed files with 471 additions and 55 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build-and-deploy-preprod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Build-Deploy-Preprod
on:
push:
branches-ignore:
- 'master'
- 'main'
workflow_dispatch:

env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-and-deploy-prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Build-Deploy-Prod
on:
push:
branches:
- 'master'
- 'main'
env:
IMAGE: ghcr.io/navikt/familie-oppdrag:${{ github.sha }}
IMAGE_LATEST: ghcr.io/navikt/familie-oppdrag:latest
Expand Down
4 changes: 1 addition & 3 deletions app-preprod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,7 @@ spec:
external:
- host: b27apvl220.preprod.local
ports:
- name: mq
port: 1413
protocol: TCP
- port: 1413
env:
- name: SPRING_PROFILES_ACTIVE
value: preprod
Expand Down
4 changes: 1 addition & 3 deletions app-prod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,7 @@ spec:
external:
- host: mpls02.adeo.no
ports:
- name: mq
port: 1414
protocol: TCP
- port: 1414
env:
- name: SPRING_PROFILES_ACTIVE
value: prod
Expand Down
10 changes: 5 additions & 5 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.1.2</version>
<version>3.2.2</version>
</parent>

<properties>
Expand All @@ -22,8 +22,8 @@
<kotlin.version>1.9.0</kotlin.version>
<main-class>no.nav.familie.oppdrag.LauncherKt</main-class>
<felles.version>2.20230508082643_6b28bd8</felles.version>
<kontrakter.version>3.0_20230808083340_ced4750</kontrakter.version>
<token-validation-spring.version>3.1.2</token-validation-spring.version>
<kontrakter.version>3.0_20240122110213_5591a29</kontrakter.version>
<token-validation-spring.version>3.2.0</token-validation-spring.version>

<!--
denne må oppdateres manuellt då eks `mvn versions:update-properties` henter versjon 2023.
Expand All @@ -43,10 +43,10 @@
</sonar.coverage.exclusions>
<!--suppress UnresolvedMavenProperty Ligger som secret i github-->
<sonar.login>${SONAR_LOGIN}</sonar.login>
<spring-cloud.version>2022.0.4</spring-cloud.version>
<spring-cloud.version>2023.0.0</spring-cloud.version>
<testcontainers.version>1.18.3</testcontainers.version>
<tjenestespesifikasjoner.version>1.0_20230718100517_1e1beb0</tjenestespesifikasjoner.version>
<springdoc.version>2.2.0</springdoc.version>
<springdoc.version>2.3.0</springdoc.version>

</properties>

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package no.nav.familie.oppdrag.repository

import java.util.UUID
import org.springframework.data.annotation.Id
import org.springframework.data.relational.core.mapping.Table

@Table("tidligere_kjoerte_grensesnittavstemminger")
class TidligereKjørtGrensesnittavstemming(
@Id val id: UUID
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package no.nav.familie.oppdrag.repository

import java.util.Optional
import java.util.UUID
import org.springframework.data.repository.CrudRepository
import org.springframework.stereotype.Repository

@Repository
interface TidligereKjørteGrensesnittavstemmingerRepository : InsertUpdateRepository<TidligereKjørtGrensesnittavstemming>,
CrudRepository<TidligereKjørtGrensesnittavstemming, UUID>
23 changes: 22 additions & 1 deletion src/main/kotlin/no/nav/familie/oppdrag/rest/OppdragController.kt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import no.nav.familie.oppdrag.common.RessursUtils.notFound
import no.nav.familie.oppdrag.common.RessursUtils.ok
import no.nav.familie.oppdrag.iverksetting.OppdragMapper
import no.nav.familie.oppdrag.service.OppdragAlleredeSendtException
import no.nav.familie.oppdrag.service.OppdragHarAlleredeKvitteringException
import no.nav.familie.oppdrag.service.OppdragService
import no.nav.security.token.support.core.api.ProtectedWithClaims
import org.springframework.beans.factory.annotation.Autowired
Expand Down Expand Up @@ -76,7 +77,7 @@ class OppdragController(
}

@PostMapping("resend")
fun resentOppdrag(
fun resendOppdrag(
@Valid @RequestBody
oppdragId: OppdragId,
) {
Expand All @@ -98,4 +99,24 @@ class OppdragController(
},
)
}

@PostMapping(consumes = [MediaType.APPLICATION_JSON_VALUE], path = ["/oppdrag/manuell-kvittering"])
fun opprettManuellKvitteringPåOppdrag(
@Valid @RequestBody
oppdragId: OppdragId,
): ResponseEntity<Ressurs<OppdragStatus>> {
return Result.runCatching { oppdragService.opprettManuellKvitteringPåOppdrag(oppdragId) }
.fold(
onFailure = {
if (it is OppdragHarAlleredeKvitteringException) {
conflict("Oppdrag med id $oppdragId er allerede kvittert ut.")
} else {
illegalState("Klarte ikke opprette manuell kvittering for oppdrag med id $oppdragId", it)
}
},
onSuccess = {
ok(it.status, it.kvitteringsmelding?.beskrMelding ?: "Savner kvitteringsmelding")
},
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,15 @@ import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Value
import org.springframework.stereotype.Service
import java.time.LocalDateTime
import no.nav.familie.oppdrag.repository.TidligereKjørtGrensesnittavstemming
import no.nav.familie.oppdrag.repository.TidligereKjørteGrensesnittavstemmingerRepository
import kotlin.jvm.optionals.getOrNull

@Service
class GrensesnittavstemmingService(
private val avstemmingSender: AvstemmingSender,
private val oppdragLagerRepository: OppdragLagerRepository,
private val tidligereKjørteGrensesnittavstemmingerRepository: TidligereKjørteGrensesnittavstemmingerRepository,
@Value("\${grensesnitt.antall:7000}") private val antall: Int,
) {

Expand All @@ -31,7 +35,15 @@ class GrensesnittavstemmingService(
}

fun utførGrensesnittavstemming(request: GrensesnittavstemmingRequest) {
val (fagsystem: String, fra: LocalDateTime, til: LocalDateTime) = request
val (fagsystem: String, fra: LocalDateTime, til: LocalDateTime, avstemmingId) = request

val erGrensesnittavstemmingKjørtPåSammeAvstemmingId =
avstemmingId?.let { tidligereKjørteGrensesnittavstemmingerRepository.findById(it).getOrNull() } != null
if (erGrensesnittavstemmingKjørtPåSammeAvstemmingId) {
LOG.info("Grensesnittavstemming er allerede fullført for $avstemmingId og vil ikke bli kjørt på nytt")
return
}

var page = 0
var antallOppdragSomSkalAvstemmes = 0
var oppdragSomSkalAvstemmes =
Expand All @@ -55,6 +67,10 @@ class GrensesnittavstemmingService(
avstemmingSender.sendGrensesnittAvstemming(totalmelding)
avstemmingSender.sendGrensesnittAvstemming(avstemmingMapper.lagSluttmelding())

if (avstemmingId != null) {
tidligereKjørteGrensesnittavstemmingerRepository.insert(TidligereKjørtGrensesnittavstemming(avstemmingId))
}

LOG.info(
"Fullført grensesnittavstemming for id: ${avstemmingMapper.avstemmingId}" +
" antallOppdragSomSkalAvstemmes=$antallOppdragSomSkalAvstemmes",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@ interface OppdragService {
fun opprettOppdrag(utbetalingsoppdrag: Utbetalingsoppdrag, oppdrag: Oppdrag, versjon: Int)
fun hentStatusForOppdrag(oppdragId: OppdragId): OppdragLager
fun resendOppdrag(oppdragId: OppdragId)
fun opprettManuellKvitteringPåOppdrag(oppdragId: OppdragId): OppdragLager
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@ class OppdragServiceE2E(
throw NotImplementedError("Ikke implementert")
}

override fun opprettManuellKvitteringPåOppdrag(oppdragId: OppdragId): OppdragLager {
throw NotImplementedError("Ikke implementert")
}

companion object {

val LOG = LoggerFactory.getLogger(OppdragServiceE2E::class.java)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import no.nav.familie.oppdrag.iverksetting.Jaxb
import no.nav.familie.oppdrag.iverksetting.OppdragSender
import no.nav.familie.oppdrag.repository.OppdragLager
import no.nav.familie.oppdrag.repository.OppdragLagerRepository
import no.trygdeetaten.skjema.oppdrag.Mmel
import no.trygdeetaten.skjema.oppdrag.Oppdrag
import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Autowired
Expand Down Expand Up @@ -52,10 +53,31 @@ class OppdragServiceImpl(
oppdragSender.sendOppdrag(oppdragXml)
}

@Transactional
override fun opprettManuellKvitteringPåOppdrag(oppdragId: OppdragId): OppdragLager {
val oppdrag = oppdragLagerRepository.hentOppdrag(oppdragId)

if (oppdrag.status != OppdragStatus.LAGT_PÅ_KØ) {
throw OppdragHarAlleredeKvitteringException("Oppdrag med id $oppdragId er allerede kvittert ut.")
}

val manuellKvittering = Mmel().apply { beskrMelding = "Manuelt kvittert ut" }

oppdragLagerRepository.oppdaterKvitteringsmelding(
oppdragId = oppdragId,
oppdragStatus = OppdragStatus.KVITTERT_OK,
kvittering = manuellKvittering,
versjon = oppdrag.versjon + 1,
)

return oppdrag
}

companion object {

val LOG = LoggerFactory.getLogger(OppdragServiceImpl::class.java)
}
}

class OppdragAlleredeSendtException() : RuntimeException()
class OppdragHarAlleredeKvitteringException(melding: String) : RuntimeException(melding)
2 changes: 1 addition & 1 deletion src/main/resources/application-prod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ no.nav.security.jwt:

spring:
datasource:
url: jdbc:postgresql://A01DBVL011.adeo.no:5432/familie-oppdrag
url: jdbc:postgresql://A01DBVL035.adeo.no:5432/familie-oppdrag-15

OPPDRAG_SERVICE_URL: https://wasapp.adeo.no/cics/services/simulerFpServiceWSBinding
SECURITYTOKENSERVICE_URL: https://sts.adeo.no/SecurityTokenServiceProvider/
Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/bootstrap-prod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ spring:
expiry-threshold: 2m
database:
enabled: true
role: familie-oppdrag-admin
role: familie-oppdrag-15-admin
backend: postgresql/prod-fss
authentication: KUBERNETES
kubernetes:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
CREATE TABLE tidligere_kjoerte_grensesnittavstemminger
(
id UUID PRIMARY KEY NOT NULL
);
Loading

0 comments on commit c524191

Please sign in to comment.