Skip to content

Commit

Permalink
feat(kielitesti): fetch suoritukset
Browse files Browse the repository at this point in the history
  • Loading branch information
wolverian committed Oct 16, 2024
1 parent b6a16fe commit d9817c4
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 31 deletions.
4 changes: 4 additions & 0 deletions server/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,10 @@
<artifactId>db-scheduler-spring-boot-starter</artifactId>
<version>14.1.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
</dependencies>

<build>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
package fi.oph.kitu.kielitesti

import org.springframework.jdbc.core.simple.JdbcClient
import org.springframework.data.annotation.Id
import org.springframework.data.repository.CrudRepository
import org.springframework.stereotype.Repository
import java.time.Instant

data class KielitestiSuoritus(
val id: Int?,
@Id
val id: Int? = null,
val first_name: String,
val last_name: String,
val oppija_oid: String,
Expand All @@ -24,16 +26,4 @@ data class KielitestiSuoritus(
)

@Repository
class KielitestiRepository(
private val jdbcClient: JdbcClient,
) {
fun insertSuoritukset(suoritukset: List<KielitestiSuoritus>) {
for (suoritus in suoritukset) {
jdbcClient
.sql(
"""insert into koto_suoritus (first_name, last_name, oppija_oid, email, time_completed, luetun_ymmartaminen_result_system, luetun_ymmartaminen_result_teacher, kuullun_ymmartaminen_result_system, kuullun_ymmartaminen_result_teacher, puhe_result_system, puhe_result_teacher, kirjoittaminen_result_system, kirjottaminen_result_teacher, total_evaluation_teacher, total_evaluation_system) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)""",
).paramSource(suoritus)
.update()
}
}
}
interface KielitestiRepository : CrudRepository<KielitestiSuoritus, Int>
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class KielitestiScheduledTasks {
lateinit var kielitestiImportSchedule: String

@Bean
fun dailyImport(moodleService: MoodleService): Task<Void> =
fun dailyImportKielitestiSuoritukset(moodleService: MoodleService): Task<Void> =
Tasks
.recurring("Kielitesti-import", Schedules.parseSchedule(kielitestiImportSchedule))
.execute { _, _ -> moodleService.importSuoritukset() }
Expand Down
34 changes: 19 additions & 15 deletions server/src/main/kotlin/fi/oph/kitu/kielitesti/MoodleService.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import org.springframework.beans.factory.annotation.Value
import org.springframework.http.MediaType
import org.springframework.stereotype.Service
import org.springframework.web.client.RestClient
import java.time.Instant

data class MoodleUser(
val id: Long,
Expand Down Expand Up @@ -64,8 +65,8 @@ data class MoodleSuorituksetResponse(
) {
data class Result(
val name: String,
val quiz_result_system: Float,
val quiz_result_teacher: Float,
val quiz_result_system: Double,
val quiz_result_teacher: Double,
)
}
}
Expand Down Expand Up @@ -98,25 +99,28 @@ class MoodleService(
.retrieve()
.body(MoodleSuorituksetResponse::class.java)

kielitestiRepository.insertSuoritukset(
kielitestiRepository.saveAll(
response?.users?.map { user ->
val luetunYmmartaminen = user.completion.results.find { it.name == "luetun_ymmartaminen" }!!
val kuullunYmmartaminen = user.completion.results.find { it.name == "kuullun_ymmartaminen" }!!
val puhe = user.completion.results.find { it.name == "puhe" }!!
val kirjoittaminen = user.completion.results.find { it.name == "kirjoittaminen" }!!
KielitestiSuoritus(
id = TODO(),
first_name = user.firstname,
last_name = user.lastname,
email = user.email,
oppija_oid = user.OIDnumber,
time_completed = TODO(),
luetun_ymmartaminen_result_system = TODO(),
luetun_ymmartaminen_result_teacher = TODO(),
kuullun_ymmartaminen_result_system = TODO(),
kuullun_ymmartaminen_result_teacher = TODO(),
puhe_result_system = TODO(),
puhe_result_teacher = TODO(),
kirjoittaminen_result_system = TODO(),
kirjottaminen_result_teacher = TODO(),
total_evaluation_teacher = TODO(),
total_evaluation_system = TODO(),
time_completed = Instant.ofEpochSecond(user.completion.timecompleted.toLong()),
luetun_ymmartaminen_result_system = luetunYmmartaminen.quiz_result_system,
luetun_ymmartaminen_result_teacher = luetunYmmartaminen.quiz_result_teacher,
kuullun_ymmartaminen_result_system = kuullunYmmartaminen.quiz_result_system,
kuullun_ymmartaminen_result_teacher = kuullunYmmartaminen.quiz_result_teacher,
puhe_result_system = puhe.quiz_result_system,
puhe_result_teacher = puhe.quiz_result_teacher,
kirjoittaminen_result_system = kirjoittaminen.quiz_result_system,
kirjottaminen_result_teacher = kirjoittaminen.quiz_result_teacher,
total_evaluation_teacher = user.completion.total_evaluation_teacher,
total_evaluation_system = user.completion.total_evaluation_system,
)
} ?: emptyList(),
)
Expand Down

0 comments on commit d9817c4

Please sign in to comment.