-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Reapply "Send udelte samtalereferat til oversikten (#897)" This reverts commit 7030ea8. * Håndter at det ikke finnes mapping når man sender stoppmelding --------- Co-authored-by: Mads Lee Giil <[email protected]>
- Loading branch information
1 parent
7030ea8
commit aca0cf7
Showing
19 changed files
with
759 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,4 +15,4 @@ public class MoteData { | |
|
||
String referat; | ||
boolean referatPublisert; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
44 changes: 44 additions & 0 deletions
44
src/main/kotlin/no/nav/veilarbaktivitet/oversikten/OversiktenMelding.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
package no.nav.veilarbaktivitet.oversikten | ||
|
||
import java.time.LocalDateTime | ||
|
||
data class OversiktenMelding( | ||
val personID: String, | ||
val avsender: String = "veilarbaktivitet", | ||
val kategori: Kategori, | ||
val operasjon: Operasjon, | ||
val hendelse: Hendelse | ||
) { | ||
companion object { | ||
private fun baseUrlVeilarbpersonflate(erProd: Boolean) = | ||
if (erProd) "https://veilarbpersonflate.intern.nav.no" else "https://veilarbpersonflate.ansatt.dev.nav.no" | ||
|
||
fun forUdeltSamtalereferat(fnr: String, operasjon: Operasjon, erProd: Boolean) = OversiktenMelding( | ||
personID = fnr, | ||
kategori = Kategori.UDELT_SAMTALEREFERAT, | ||
operasjon = operasjon, | ||
hendelse = Hendelse( | ||
beskrivelse = "Bruker har et udelt samtalereferat", | ||
dato = LocalDateTime.now(), | ||
lenke = "${baseUrlVeilarbpersonflate(erProd)}/aktivitetsplan", | ||
) | ||
) | ||
} | ||
|
||
data class Hendelse ( | ||
val beskrivelse: String, | ||
val dato: LocalDateTime, | ||
val lenke: String, | ||
val detaljer: String? = null, | ||
) | ||
|
||
enum class Kategori { | ||
UDELT_SAMTALEREFERAT | ||
} | ||
|
||
enum class Operasjon { | ||
START, | ||
OPPDATER, | ||
STOPP | ||
} | ||
} |
46 changes: 46 additions & 0 deletions
46
src/main/kotlin/no/nav/veilarbaktivitet/oversikten/OversiktenMeldingAktivitetMappingDAO.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
package no.nav.veilarbaktivitet.oversikten | ||
|
||
import no.nav.veilarbaktivitet.aktivitet.AktivitetId | ||
import org.springframework.dao.EmptyResultDataAccessException | ||
import org.springframework.jdbc.core.RowMapper | ||
import org.springframework.jdbc.core.namedparam.MapSqlParameterSource | ||
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate | ||
import org.springframework.stereotype.Repository | ||
import java.sql.ResultSet | ||
import java.util.* | ||
|
||
@Repository | ||
open class OversiktenMeldingAktivitetMappingDAO(private val template: NamedParameterJdbcTemplate) { | ||
|
||
open fun lagreKoblingMellomOversiktenMeldingOgAktivitet(oversiktenMeldingKey: MeldingKey, aktivitetId: AktivitetId, kategori: OversiktenMelding.Kategori) { | ||
val sql = """ | ||
insert into oversikten_melding_aktivitet_mapping (oversikten_melding_key, aktivitet_id, kategori) | ||
values (:oversiktenMeldingKey, :aktivitetId, :kategori::OVERSIKTEN_KATEGORI) | ||
""".trimIndent() | ||
val params = MapSqlParameterSource() | ||
.addValue("oversiktenMeldingKey", oversiktenMeldingKey) | ||
.addValue("aktivitetId", aktivitetId) | ||
.addValue("kategori", kategori.name) | ||
template.update(sql, params) | ||
} | ||
|
||
open fun hentMeldingKeyForAktivitet(aktivitetId: AktivitetId, kategori: OversiktenMelding.Kategori) : UUID? { | ||
val sql = """ | ||
select oversikten_melding_key | ||
from oversikten_melding_aktivitet_mapping | ||
where aktivitet_id = :aktivitetId and kategori = :kategori::OVERSIKTEN_KATEGORI | ||
""".trimIndent() | ||
|
||
val params = mapOf("aktivitetId" to aktivitetId, "kategori" to kategori.name) | ||
|
||
return try { | ||
template.queryForObject(sql, params, rowMapper) | ||
} catch (e: EmptyResultDataAccessException) { | ||
null | ||
} | ||
} | ||
|
||
open val rowMapper = RowMapper { rs: ResultSet, rowNum: Int -> | ||
rs.getObject("oversikten_melding_key", UUID::class.java) | ||
} | ||
} |
45 changes: 45 additions & 0 deletions
45
src/main/kotlin/no/nav/veilarbaktivitet/oversikten/OversiktenMeldingMedMetadata.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
package no.nav.veilarbaktivitet.oversikten | ||
|
||
import no.nav.common.types.identer.Fnr | ||
import java.time.ZonedDateTime | ||
import java.util.* | ||
|
||
open class OversiktenMeldingMedMetadata( | ||
val meldingKey: MeldingKey, | ||
val fnr: Fnr, | ||
val opprettet: ZonedDateTime = ZonedDateTime.now(), | ||
val tidspunktSendt: ZonedDateTime? = null, | ||
val utsendingStatus: UtsendingStatus = UtsendingStatus.SKAL_SENDES, | ||
val meldingSomJson: String, | ||
val kategori: OversiktenMelding.Kategori, | ||
val operasjon: OversiktenMelding.Operasjon, | ||
) | ||
|
||
class LagretOversiktenMeldingMedMetadata( | ||
val id: Long, | ||
meldingKey: MeldingKey, | ||
fnr: Fnr, | ||
opprettet: ZonedDateTime, | ||
tidspunktSendt: ZonedDateTime?, | ||
utsendingStatus: UtsendingStatus, | ||
meldingSomJson: String, | ||
kategori: OversiktenMelding.Kategori, | ||
operasjon: OversiktenMelding.Operasjon | ||
) : OversiktenMeldingMedMetadata( | ||
meldingKey = meldingKey, | ||
fnr = fnr, | ||
opprettet = opprettet, | ||
tidspunktSendt = tidspunktSendt, | ||
utsendingStatus = utsendingStatus, | ||
meldingSomJson = meldingSomJson, | ||
kategori = kategori, | ||
operasjon = operasjon | ||
) | ||
|
||
typealias MeldingKey = UUID | ||
|
||
enum class UtsendingStatus { | ||
SKAL_SENDES, | ||
SENDT, | ||
SKAL_IKKE_SENDES | ||
} |
88 changes: 88 additions & 0 deletions
88
src/main/kotlin/no/nav/veilarbaktivitet/oversikten/OversiktenMeldingMedMetadataDAO.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
package no.nav.veilarbaktivitet.oversikten | ||
|
||
import no.nav.common.types.identer.Fnr | ||
import no.nav.veilarbaktivitet.config.database.Database | ||
import no.nav.veilarbaktivitet.veilarbdbutil.VeilarbAktivitetSqlParameterSource | ||
import org.springframework.jdbc.core.RowMapper | ||
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate | ||
import org.springframework.jdbc.support.GeneratedKeyHolder | ||
import org.springframework.stereotype.Repository | ||
import java.sql.ResultSet | ||
import java.util.* | ||
|
||
@Repository | ||
open class OversiktenMeldingMedMetadataDAO( | ||
private val jdbc: NamedParameterJdbcTemplate | ||
) { | ||
open fun lagre(oversiktenMeldingMedMetadata: OversiktenMeldingMedMetadata): Long { | ||
val sql = """ | ||
INSERT INTO oversikten_melding_med_metadata ( | ||
fnr, opprettet, utsending_status, melding, kategori, melding_key, operasjon) | ||
VALUES ( :fnr, :opprettet, :utsending_status::OVERSIKTEN_UTSENDING_STATUS, :melding::json, :kategori::OVERSIKTEN_KATEGORI, :melding_key, :operasjon::OVERSIKTEN_OPERASJON) | ||
""".trimIndent() | ||
|
||
val params = VeilarbAktivitetSqlParameterSource().apply { | ||
addValue("fnr", oversiktenMeldingMedMetadata.fnr.get()) | ||
addValue("opprettet", oversiktenMeldingMedMetadata.opprettet) | ||
addValue("utsending_status", oversiktenMeldingMedMetadata.utsendingStatus.name) | ||
addValue("melding", oversiktenMeldingMedMetadata.meldingSomJson) | ||
addValue("kategori", oversiktenMeldingMedMetadata.kategori.name) | ||
addValue("melding_key", oversiktenMeldingMedMetadata.meldingKey) | ||
addValue("operasjon", oversiktenMeldingMedMetadata.operasjon.name) | ||
} | ||
|
||
val keyHolder = GeneratedKeyHolder() | ||
jdbc.update(sql, params, keyHolder, arrayOf("id")) | ||
|
||
return keyHolder.key?.toLong() ?: throw IllegalStateException("Kunne ikke hente ut nøkkel til lagret melding") | ||
} | ||
|
||
open fun hentAlleSomSkalSendes(): List<LagretOversiktenMeldingMedMetadata> { | ||
val sql = """ | ||
SELECT * FROM oversikten_melding_med_metadata WHERE utsending_status = 'SKAL_SENDES' | ||
""".trimIndent() | ||
|
||
return jdbc.query(sql, rowMapper) | ||
} | ||
|
||
open fun markerSomSendt(id: Long) { | ||
val sql = """ | ||
UPDATE oversikten_melding_med_metadata | ||
SET utsending_status = 'SENDT', | ||
tidspunkt_sendt = now() | ||
WHERE id = :id | ||
""".trimIndent() | ||
|
||
val params = VeilarbAktivitetSqlParameterSource().apply { | ||
addValue("id", id) | ||
} | ||
|
||
jdbc.update(sql, params) | ||
} | ||
|
||
open fun hent(id : Long) : LagretOversiktenMeldingMedMetadata? { | ||
val sql = """ | ||
SELECT * FROM oversikten_melding_med_metadata WHERE id = :id | ||
""".trimIndent() | ||
|
||
val params = VeilarbAktivitetSqlParameterSource().apply { | ||
addValue("id", id) | ||
} | ||
|
||
return jdbc.queryForObject(sql, params, rowMapper) | ||
} | ||
|
||
open val rowMapper = RowMapper { rs: ResultSet, rowNum: Int -> | ||
LagretOversiktenMeldingMedMetadata( | ||
id = rs.getLong("id"), | ||
fnr = Fnr.of(rs.getString("fnr")), | ||
opprettet = Database.hentZonedDateTime(rs, "opprettet"), | ||
tidspunktSendt = Database.hentZonedDateTime(rs, "tidspunkt_sendt"), | ||
utsendingStatus = UtsendingStatus.valueOf(rs.getString("utsending_status")), | ||
meldingSomJson = rs.getString("melding"), | ||
kategori = OversiktenMelding.Kategori.valueOf(rs.getString("kategori")), | ||
meldingKey = UUID.fromString(rs.getString("melding_key")), | ||
operasjon = OversiktenMelding.Operasjon.valueOf(rs.getString("operasjon")), | ||
) | ||
} | ||
} |
Oops, something went wrong.