commit 28/08/2025

This commit is contained in:
2025-08-28 12:08:16 +07:00
parent ef9c17a65c
commit 7100cf826d
2 changed files with 407 additions and 0 deletions

View File

@@ -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"),