LocalStatReader.kt
package io.github.lishangbu.avalon.dataset.service.api
import io.github.lishangbu.avalon.dataset.api.service.StatReader
import io.github.lishangbu.avalon.dataset.repository.StatRepository
import org.springframework.stereotype.Service
@Service
class LocalStatReader(
private val statRepository: StatRepository,
) : StatReader {
override fun findStatIdsByInternalNames(internalNames: Set<String>): Map<String, Long> =
statRepository
.findAll()
.mapNotNull { stat ->
val statInternalName = stat.internalName ?: return@mapNotNull null
if (statInternalName !in internalNames) {
return@mapNotNull null
}
statInternalName to stat.id
}.toMap(LinkedHashMap())
}