修正開戰期間成員取得判斷

This commit is contained in:
Raymond Yang 2023-07-10 12:04:55 +08:00
parent dd2bbf46a6
commit 9614266453

View File

@ -25,7 +25,7 @@ fun Application.configureMemberRecordRouting() {
call.respond(HttpStatusCode.OK)
}
route("/api") {
route("/record") {
route("/record") { // 查詢所有紀錄
get {
val calendar = Calendar.getInstance().apply {
timeInMillis = System.currentTimeMillis() - (5 * 60 * 60 * 1000) // 由於公連換日為每日早上5:00因此減去時差
@ -33,7 +33,7 @@ fun Application.configureMemberRecordRouting() {
val records = getData(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH))
call.respond(HttpStatusCode.OK, records)
}
post("/{id}") {
post("/{id}") { // 新增成員紀錄
val id = call.parameters.getOrFail<String>("id")
val record = call.receive<MemberRecord>()
val member = MemberService.findById(id) ?: run {
@ -69,7 +69,7 @@ fun Application.configureMemberRecordRouting() {
call.respond(HttpStatusCode.OK, existData)
}
}
get("/{year}/{month}/{day}") {
get("/{year}/{month}/{day}") { // 取得特定日期
val year = call.parameters.getOrFail<Int>("year").toInt()
val month = call.parameters.getOrFail<Int>("month").toInt() - 1
val day = call.parameters.getOrFail<Int>("day").toInt()
@ -131,15 +131,20 @@ fun getDayEndLong(year: Int, month: Int, day: Int): Long {
fun getData(year: Int, month: Int, day: Int): List<RecordData> {
val startTime = getDayStartLong(year, month, day)
val endTime = getDayEndLong(year, month, day)
// Show a list of articles
val records = ArrayList<RecordData>()
val memberList = MemberService.findAll()
memberList.forEach { member ->
if ((member.createAt!! < startTime || member.createAt!! > endTime) && !member.leave) {
records.add(
RecordData(member = member, null)
)
if (member.leave && member.updatedAt!! < startTime) {
//println("成員離開 ${member.nickName}")
return@forEach
}
if (member.createAt!! > startTime) {
//println("成員不在當期開戰期間 ${member.nickName}")
return@forEach
}
records.add(
RecordData(member = member, null)
)
}
val recordList = MemberRecordService.findByTimeBetween(startTime, endTime)
recordList.forEach { record ->