1
1
package no.nav.fo.veilarbregistrering.arbeidssoker.formidlingsgruppe
2
2
3
3
import no.nav.fo.veilarbregistrering.aktorIdCache.AktorIdCacheService
4
- import no.nav.fo.veilarbregistrering.arbeidssoker.Arbeidssoker
5
4
import no.nav.fo.veilarbregistrering.arbeidssoker.ArbeidssokerperiodeService
6
- import no.nav.fo.veilarbregistrering.arbeidssoker.perioder.ArbeidssokerperiodeAvsluttetProducer
7
- import no.nav.fo.veilarbregistrering.arbeidssoker.perioder.PopulerArbeidssokerperioderService
8
- import no.nav.fo.veilarbregistrering.bruker.Foedselsnummer
9
5
import no.nav.fo.veilarbregistrering.log.logger
10
6
import org.springframework.stereotype.Service
11
7
import org.springframework.transaction.annotation.Transactional
@@ -15,73 +11,46 @@ import java.time.LocalDateTime
15
11
class FormidlingsgruppeMottakService (
16
12
private val formidlingsgruppeRepository : FormidlingsgruppeRepository ,
17
13
private val aktorIdCacheService : AktorIdCacheService ,
18
- private val populerArbeidssokerperioderService : PopulerArbeidssokerperioderService ,
19
- private val arbeidssokerperiodeAvsluttetProducer : ArbeidssokerperiodeAvsluttetProducer ,
20
14
private val arbeidssokerperiodeService : ArbeidssokerperiodeService
21
15
) {
22
16
23
17
@Transactional
24
18
fun behandle (formidlingsgruppeEndretEvent : FormidlingsgruppeEndretEvent ) {
25
19
26
- if (formidlingsgruppeEndretEvent.formidlingsgruppeEndret.isBefore(LocalDateTime .parse(" 2010-01-01T00:00:00" ))
27
- && formidlingsgruppeEndretEvent.formidlingsgruppe.kode != " ARBS" ) {
28
- logger.warn(
29
- " Fikk formidlingsgruppeendring fra før 2010 som ikke har formidlingsgruppe ARBS, " +
30
- " formidlingsgruppe: ${formidlingsgruppeEndretEvent.formidlingsgruppe.kode} , " +
31
- " dato: ${formidlingsgruppeEndretEvent.formidlingsgruppeEndret} ) " )
32
- }
33
-
34
- if (formidlingsgruppeEndretEvent.operation != Operation .UPDATE ) {
35
- logger.info(" Forkaster melding som ikke er UPDATE, men lagrer for ettertid - $formidlingsgruppeEndretEvent " )
36
- if (formidlingsgruppeEndretEvent.formidlingsgruppe.kode != " ISERV" ) {
37
- logger.error(" Mottok en INSERT-melding med formidlingsgruppe ${formidlingsgruppeEndretEvent.formidlingsgruppe} - vi skal kun få INSERT med ISERV" )
38
- }
39
- formidlingsgruppeRepository.lagre(formidlingsgruppeEndretEvent)
40
- return
41
- }
20
+ if (vaskFormidlingsgruppeEventOgStopp(formidlingsgruppeEndretEvent)) return
42
21
43
22
try {
44
23
aktorIdCacheService.hentAktorIdFraPDLHvisIkkeFinnes(formidlingsgruppeEndretEvent.foedselsnummer, true )
45
24
} catch (e: Exception ) {
46
- logger.error( " Feil med aktorId fra PDL " , e)
25
+ logger.warn( " Klarte ikke populere aktørid-cache for innkommende formidlingsgruppe " , e)
47
26
}
48
27
49
28
try {
50
29
arbeidssokerperiodeService.behandleFormidlingsgruppeEvent(formidlingsgruppeEndretEvent)
51
30
} catch (e: Exception ) {
52
31
logger.error(" Feil ved behandling av formidlingsgruppe event" , e)
53
32
}
54
- val arbeidssøker = hentArbeidssøker(formidlingsgruppeEndretEvent.foedselsnummer)
55
- formidlingsgruppeRepository.lagre(formidlingsgruppeEndretEvent)
56
-
57
- try {
58
- aktorIdCacheService.hentAktorIdFraPDLHvisIkkeFinnes(formidlingsgruppeEndretEvent.foedselsnummer, true )
59
- } catch (e: Exception ) {
60
- logger.warn(" Klarte ikke populere aktørid-cache for innkommende formidlingsgruppe" , e)
61
- }
62
33
63
- behandle(arbeidssøker, formidlingsgruppeEndretEvent)
34
+ formidlingsgruppeRepository.lagre( formidlingsgruppeEndretEvent)
64
35
}
65
36
66
- private fun hentArbeidss øker (foedselsnummer : Foedselsnummer ): Arbeidssoker ? {
67
- return try {
68
- val arbeidssøker = populerArbeidssokerperioderService.hentArbeidssøker(foedselsnummer)
69
- arbeidssøker.add(arbeidssokerperiodeAvsluttetProducer)
70
- arbeidssøker
71
- } catch (e: RuntimeException ) {
72
- logger.error(" Henting av arbeidssøker feilet" , e)
73
- null
37
+ private fun vaskFormidlingsgruppeEventOgStopp (formidlingsgruppeEndretEvent : FormidlingsgruppeEndretEvent ): Boolean {
38
+ if (formidlingsgruppeEndretEvent.formidlingsgruppeEndret.isBefore(LocalDateTime .parse(" 2010-01-01T00:00:00" ))
39
+ && formidlingsgruppeEndretEvent.formidlingsgruppe.kode != " ARBS" ) {
40
+ logger.warn(
41
+ " Fikk formidlingsgruppeendring fra før 2010 som ikke har formidlingsgruppe ARBS, " +
42
+ " formidlingsgruppe: ${formidlingsgruppeEndretEvent.formidlingsgruppe.kode} , " +
43
+ " dato: ${formidlingsgruppeEndretEvent.formidlingsgruppeEndret} ) " )
74
44
}
75
- }
76
45
77
- private fun behandle (arbeidssøker : Arbeidssoker ? , formidlingsgruppeEndretEvent : FormidlingsgruppeEndretEvent ) {
78
- if (arbeidssøker == null ) return
79
- try {
80
- logger.info(" Behandler mottak av $formidlingsgruppeEndretEvent " )
81
- arbeidssøker.behandle(formidlingsgruppeEndretEvent)
82
- arbeidssøker.remove(arbeidssokerperiodeAvsluttetProducer)
83
- } catch (e: RuntimeException ) {
84
- logger.error(" Behandling av formidlingsgruppeEndretEvent feilet" , e)
46
+ if (formidlingsgruppeEndretEvent.operation != Operation .UPDATE ) {
47
+ logger.info(" Forkaster melding som ikke er UPDATE, men lagrer for ettertid - $formidlingsgruppeEndretEvent " )
48
+ if (formidlingsgruppeEndretEvent.formidlingsgruppe.kode != " ISERV" ) {
49
+ logger.error(" Mottok en INSERT-melding med formidlingsgruppe ${formidlingsgruppeEndretEvent.formidlingsgruppe} - vi skal kun få INSERT med ISERV" )
50
+ }
51
+ formidlingsgruppeRepository.lagre(formidlingsgruppeEndretEvent)
52
+ return true
85
53
}
54
+ return false
86
55
}
87
56
}
0 commit comments