commit 28/08/2025
This commit is contained in:
43
src/Main.kt
43
src/Main.kt
@@ -2,6 +2,11 @@ import audio.AudioPlayer
|
||||
import com.sun.jna.Platform
|
||||
import content.ContentCache
|
||||
import database.MariaDB
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.isActive
|
||||
import kotlinx.coroutines.launch
|
||||
import org.tinylog.Logger
|
||||
import oshi.util.GlobalConfig
|
||||
import web.WebApp
|
||||
@@ -17,6 +22,44 @@ fun main() {
|
||||
audioPlayer.InitAudio(1)
|
||||
val content = ContentCache()
|
||||
val db = MariaDB()
|
||||
CoroutineScope(Dispatchers.Default).launch {
|
||||
while (isActive){
|
||||
delay(1000)
|
||||
val broadcastzones = db.GetBroadcastZones()
|
||||
// baca dulu queue paging, prioritas 1
|
||||
db.Read_Queue_Paging().forEach {
|
||||
// cek apakah queue paging ada broadcast zone nya
|
||||
if (it.BroadcastZones.isNotBlank()) {
|
||||
val zz = it.BroadcastZones.split(";")
|
||||
// cek apakah semua target broadcast zone dari queue paging ada di dalam database broadcast zones
|
||||
if (zz.all { z -> broadcastzones.any { bz -> bz.equals(z) } }){
|
||||
// semua target broadcast zone valid, sekarang cek apakah semua target broadcast zone idle
|
||||
|
||||
} else {
|
||||
// ada broadcast zone yang tidak valid, delete from queue paging
|
||||
db.Delete_Queue_Paging_by_index(it.index)
|
||||
//TODO check log message yang benar
|
||||
db.Add_Log("AAS", "Cancelled paging message with index ${it.index} due to invalid broadcast zone")
|
||||
}
|
||||
} else {
|
||||
// invalid broadcast zone, delete from queue paging
|
||||
db.Delete_Queue_Paging_by_index(it.index)
|
||||
// TODO check log message yang benar
|
||||
db.Add_Log("AAS", "Cancelled paging message with index ${it.index} due to empty broadcast zone")
|
||||
}
|
||||
}
|
||||
// baca kemudian queue table, prioritas 2
|
||||
db.Read_Queue_Table().forEach {
|
||||
if (it.BroadcastZones.isNotBlank()) {
|
||||
|
||||
} else {
|
||||
// invalid broadcast zone, delete from queue table
|
||||
db.Delete_Queue_Table_by_index(it.index)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
val web = WebApp(3030,
|
||||
listOf(
|
||||
Pair("admin", "password"),
|
||||
|
||||
Reference in New Issue
Block a user