修正開戰期間成員取得判斷
This commit is contained in:
parent
dd2bbf46a6
commit
9614266453
@ -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 ->
|
||||
|
||||
Loading…
Reference in New Issue
Block a user