From 9614266453cdfdc85336b34a7be20af69e326b47 Mon Sep 17 00:00:00 2001 From: Raymond Yang Date: Mon, 10 Jul 2023 12:04:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E9=96=8B=E6=88=B0=E6=9C=9F?= =?UTF-8?q?=E9=96=93=E6=88=90=E5=93=A1=E5=8F=96=E5=BE=97=E5=88=A4=E6=96=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pcredive/plugins/MemberRecordRouting.kt | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/main/kotlin/com/ray650128/pcredive/plugins/MemberRecordRouting.kt b/src/main/kotlin/com/ray650128/pcredive/plugins/MemberRecordRouting.kt index cfa34cf..58b4ed0 100644 --- a/src/main/kotlin/com/ray650128/pcredive/plugins/MemberRecordRouting.kt +++ b/src/main/kotlin/com/ray650128/pcredive/plugins/MemberRecordRouting.kt @@ -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("id") val record = call.receive() 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("year").toInt() val month = call.parameters.getOrFail("month").toInt() - 1 val day = call.parameters.getOrFail("day").toInt() @@ -131,15 +131,20 @@ fun getDayEndLong(year: Int, month: Int, day: Int): Long { fun getData(year: Int, month: Int, day: Int): List { val startTime = getDayStartLong(year, month, day) val endTime = getDayEndLong(year, month, day) - // Show a list of articles val records = ArrayList() 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 ->