加上updateTimer模組
This commit is contained in:
parent
4632b2cdc8
commit
4131f03e42
@ -2,17 +2,11 @@ package com.ray650128.pcredive
|
|||||||
|
|
||||||
import ch.qos.logback.classic.Level
|
import ch.qos.logback.classic.Level
|
||||||
import ch.qos.logback.classic.LoggerContext
|
import ch.qos.logback.classic.LoggerContext
|
||||||
import com.ray650128.pcredive.database.model.MemberRecord
|
|
||||||
import com.ray650128.pcredive.database.model.Record
|
|
||||||
import com.ray650128.pcredive.database.service.MemberRecordService
|
|
||||||
import com.ray650128.pcredive.database.service.MemberService
|
|
||||||
import io.ktor.server.application.*
|
import io.ktor.server.application.*
|
||||||
import com.ray650128.pcredive.plugins.*
|
import com.ray650128.pcredive.plugins.*
|
||||||
import org.slf4j.LoggerFactory
|
import org.slf4j.LoggerFactory
|
||||||
import java.util.*
|
|
||||||
|
|
||||||
fun main(args: Array<String>) {
|
fun main(args: Array<String>) {
|
||||||
startTimer()
|
|
||||||
val loggerContext = LoggerFactory.getILoggerFactory() as LoggerContext
|
val loggerContext = LoggerFactory.getILoggerFactory() as LoggerContext
|
||||||
val rootLogger = loggerContext.getLogger("org.mongodb.driver")
|
val rootLogger = loggerContext.getLogger("org.mongodb.driver")
|
||||||
rootLogger.level = Level.OFF
|
rootLogger.level = Level.OFF
|
||||||
@ -21,42 +15,9 @@ fun main(args: Array<String>) {
|
|||||||
|
|
||||||
@Suppress("unused") // application.conf references the main function. This annotation prevents the IDE from marking it as unused.
|
@Suppress("unused") // application.conf references the main function. This annotation prevents the IDE from marking it as unused.
|
||||||
fun Application.module() {
|
fun Application.module() {
|
||||||
|
configureUpdateTimer()
|
||||||
configureHTTP()
|
configureHTTP()
|
||||||
configureSerialization()
|
configureSerialization()
|
||||||
configureMemberRouting()
|
configureMemberRouting()
|
||||||
configureMemberRecordRouting()
|
configureMemberRecordRouting()
|
||||||
}
|
|
||||||
|
|
||||||
private fun startTimer() {
|
|
||||||
val date = Date()
|
|
||||||
val timer = Timer()
|
|
||||||
timer.schedule(object : TimerTask() {
|
|
||||||
override fun run() {
|
|
||||||
val c = Calendar.getInstance()
|
|
||||||
val hour = c[Calendar.HOUR_OF_DAY]
|
|
||||||
val minute = c[Calendar.MINUTE]
|
|
||||||
val second = c[Calendar.SECOND]
|
|
||||||
val day = c[Calendar.DAY_OF_MONTH]
|
|
||||||
val lastDay = c.getActualMaximum(Calendar.DAY_OF_MONTH)
|
|
||||||
println("Time: $day, ${String.format("%2d:%2d:%2d", hour, minute, second)}")
|
|
||||||
if ((day in (lastDay - 5)..lastDay) && (hour == 5 && minute == 0 && second == 0)) {
|
|
||||||
val members = MemberService.findAll(false)
|
|
||||||
members.forEach { member ->
|
|
||||||
MemberRecordService.create(
|
|
||||||
MemberRecord(
|
|
||||||
memberId = member._id,
|
|
||||||
record1 = Record(""),
|
|
||||||
record1c = Record(""),
|
|
||||||
record2 = Record(""),
|
|
||||||
record2c = Record(""),
|
|
||||||
record3 = Record(""),
|
|
||||||
record3c = Record(""),
|
|
||||||
createdAt = System.currentTimeMillis(),
|
|
||||||
updatedAt = System.currentTimeMillis()
|
|
||||||
)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}, date, 1000L)
|
|
||||||
}
|
}
|
||||||
@ -0,0 +1,42 @@
|
|||||||
|
package com.ray650128.pcredive.plugins
|
||||||
|
|
||||||
|
import com.ray650128.pcredive.database.model.MemberRecord
|
||||||
|
import com.ray650128.pcredive.database.model.Record
|
||||||
|
import com.ray650128.pcredive.database.service.MemberRecordService
|
||||||
|
import com.ray650128.pcredive.database.service.MemberService
|
||||||
|
import io.ktor.server.application.*
|
||||||
|
import java.util.*
|
||||||
|
|
||||||
|
fun Application.configureUpdateTimer() {
|
||||||
|
val date = Date()
|
||||||
|
val timer = Timer()
|
||||||
|
timer.schedule(object : TimerTask() {
|
||||||
|
override fun run() {
|
||||||
|
val c = Calendar.getInstance()
|
||||||
|
val hour = c[Calendar.HOUR_OF_DAY]
|
||||||
|
val minute = c[Calendar.MINUTE]
|
||||||
|
val second = c[Calendar.SECOND]
|
||||||
|
val day = c[Calendar.DAY_OF_MONTH]
|
||||||
|
val lastDay = c.getActualMaximum(Calendar.DAY_OF_MONTH)
|
||||||
|
println("Time: $day, ${String.format("%2d:%2d:%2d", hour, minute, second)}")
|
||||||
|
if ((day in (lastDay - 5)..lastDay) && (hour == 5 && minute == 0 && second == 0)) {
|
||||||
|
val members = MemberService.findAll(false)
|
||||||
|
members.forEach { member ->
|
||||||
|
MemberRecordService.create(
|
||||||
|
MemberRecord(
|
||||||
|
memberId = member._id,
|
||||||
|
record1 = Record(""),
|
||||||
|
record1c = Record(""),
|
||||||
|
record2 = Record(""),
|
||||||
|
record2c = Record(""),
|
||||||
|
record3 = Record(""),
|
||||||
|
record3c = Record(""),
|
||||||
|
createdAt = System.currentTimeMillis(),
|
||||||
|
updatedAt = System.currentTimeMillis()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, date, 1000L)
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user