@@ -8,8 +8,10 @@ import no.nav.tms.varsel.action.Varseltype
8
8
import no.nav.tms.varsel.builder.VarselActionBuilder
9
9
import org.apache.kafka.clients.producer.Producer
10
10
import org.apache.kafka.clients.producer.ProducerRecord
11
+ import java.time.LocalDateTime
11
12
import java.time.ZoneId
12
13
import java.time.ZonedDateTime
14
+ import java.time.format.DateTimeFormatter
13
15
14
16
class HendelseProducer (
15
17
private val kafkaProducer : Producer <String , String >,
@@ -22,33 +24,64 @@ class HendelseProducer(
22
24
}
23
25
24
26
private fun createHendelse (fnr : String , eventId : String ): String {
27
+ val internVarslingstekst = internVarslingstekst()
28
+ val eksternVarslingstekst = eksternVarslingstekst(internVarslingstekst)
29
+
25
30
return VarselActionBuilder .opprett {
26
31
type = Varseltype .Beskjed
27
32
varselId = eventId
28
33
sensitivitet = Sensitivitet .Substantial
29
34
ident = fnr
30
35
tekster + = Tekst (
31
36
spraakkode = " nb" ,
32
- tekst = BASE_VARSLINGSTEKST ,
37
+ tekst = internVarslingstekst ,
33
38
default = true
34
39
)
35
40
link = " https://www.nav.no"
36
41
aktivFremTil = ZonedDateTime .now(ZoneId .of(" Z" )).plusDays(14 )
37
42
eksternVarsling = EksternVarslingBestilling (
38
43
prefererteKanaler = listOf (EksternKanal .SMS , EksternKanal .EPOST ),
39
44
epostVarslingstittel = VARSLINGSTITTEL ,
40
- epostVarslingstekst = EKSTERN_VARSLINGSTEKST ,
41
- smsVarslingstekst = EKSTERN_VARSLINGSTEKST
45
+ epostVarslingstekst = eksternVarslingstekst ,
46
+ smsVarslingstekst = eksternVarslingstekst,
42
47
)
43
48
}
44
49
}
45
50
51
+ // Varsling i dekoratøren
52
+ private fun internVarslingstekst (): String {
53
+ val timestamp = LocalDateTime .now()
54
+ val dayOfMonth = timestamp.dayOfMonth
55
+ val month = monthNamesMap[timestamp.monthValue]
56
+ val time = timestamp.format(timeFormatter)
57
+
58
+ return " Kontonummeret ditt hos NAV ble endret $dayOfMonth . $month kl $time . Ring oss om dette ikke stemmer på tlf. 55 55 33 33."
59
+ }
60
+
61
+ // Varsling på sms og e-post
62
+ private fun eksternVarslingstekst (baseText : String ): String {
63
+ return " Hei! $baseText Hilsen NAV"
64
+ }
65
+
46
66
companion object {
47
67
const val VARSLINGSTITTEL =
48
68
" Du har endret kontonummeret ditt hos NAV"
49
- const val BASE_VARSLINGSTEKST =
50
- " Du har endret kontonummeret ditt hos NAV. Ring oss om dette ikke stemmer på tlf. 55 55 33 33."
51
- const val EKSTERN_VARSLINGSTEKST =
52
- " Hei! $BASE_VARSLINGSTEKST Hilsen NAV"
69
+
70
+ val timeFormatter: DateTimeFormatter = DateTimeFormatter .ofPattern(" hh:mm" )
71
+
72
+ val monthNamesMap = mapOf (
73
+ 1 to " januar" ,
74
+ 2 to " februar" ,
75
+ 3 to " mars" ,
76
+ 4 to " april" ,
77
+ 5 to " mai" ,
78
+ 6 to " juni" ,
79
+ 7 to " juli" ,
80
+ 8 to " august" ,
81
+ 9 to " september" ,
82
+ 10 to " oktober" ,
83
+ 11 to " november" ,
84
+ 12 to " desember" ,
85
+ )
53
86
}
54
87
}
0 commit comments