From 24f7726727d5aafb2215e73f89aacecd0d2e88b3 Mon Sep 17 00:00:00 2001 From: Raymond Yang Date: Mon, 26 Jun 2023 14:03:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3CRUD=20BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pcredive/plugins/MemberRecordRouting.kt | 1 - .../pcredive/plugins/MemberRouting.kt | 58 +++++++------------ 2 files changed, 22 insertions(+), 37 deletions(-) diff --git a/src/main/kotlin/com/ray650128/pcredive/plugins/MemberRecordRouting.kt b/src/main/kotlin/com/ray650128/pcredive/plugins/MemberRecordRouting.kt index 3a813ef..27a1da6 100644 --- a/src/main/kotlin/com/ray650128/pcredive/plugins/MemberRecordRouting.kt +++ b/src/main/kotlin/com/ray650128/pcredive/plugins/MemberRecordRouting.kt @@ -76,7 +76,6 @@ fun Application.configureMemberRecordRouting() { record2c = record.record2c record3 = record.record3 record3c = record.record3c - createdAt = System.currentTimeMillis() updatedAt = System.currentTimeMillis() } MemberRecordService.updateById(id, oldData) diff --git a/src/main/kotlin/com/ray650128/pcredive/plugins/MemberRouting.kt b/src/main/kotlin/com/ray650128/pcredive/plugins/MemberRouting.kt index b31cf7c..09367f7 100644 --- a/src/main/kotlin/com/ray650128/pcredive/plugins/MemberRouting.kt +++ b/src/main/kotlin/com/ray650128/pcredive/plugins/MemberRouting.kt @@ -2,6 +2,7 @@ package com.ray650128.pcredive.plugins import com.ray650128.pcredive.database.dto.toDto import com.ray650128.pcredive.database.model.Member +import com.ray650128.pcredive.database.model.MemberRecord import com.ray650128.pcredive.database.service.MemberService import io.ktor.http.* import io.ktor.serialization.kotlinx.json.* @@ -17,7 +18,7 @@ fun Application.configureMemberRouting() { routing { route("/api") { route("/member") { - get("/all") { + get { // 顯示所有登錄的成員資料 coroutineScope { val memberList = MemberService.findAll() @@ -32,47 +33,32 @@ fun Application.configureMemberRouting() { } call.respond(HttpStatusCode.OK, member) } - post("/new") { - // Save an article - val formParameters = call.receiveParameters() - val _playerName = formParameters.getOrFail("playerName") - val _nickName = formParameters.getOrFail("nickName") - val _discordID = formParameters.getOrFail("discordID") - val _uid = formParameters.getOrFail("uid") - val _createAt = System.currentTimeMillis() - val member = Member( - playerName = _playerName, - nickName = _nickName, - discordID = _discordID, - uid = _uid, - createAt = _createAt, - ) - MemberService.create(member).let { memberId -> - + post { + val member = call.receive() + member.apply { + createAt = System.currentTimeMillis() + updatedAt = System.currentTimeMillis() + } + MemberService.create(member).let { call.respond(HttpStatusCode.OK, member) } } put("/{id}") { val id = call.parameters.getOrFail("id") - val formParameters = call.receiveParameters() - coroutineScope { - val _playerName = formParameters.getOrFail("playerName") - val _nickName = formParameters.getOrFail("nickName") - val _discordID = formParameters.getOrFail("discordID") - val _uid = formParameters.getOrFail("uid") - val _leave = (formParameters.getOrFail("leave") == "2") - val _updatedAt = System.currentTimeMillis() - val member = Member( - playerName = _playerName, - nickName = _nickName, - discordID = _discordID, - uid = _uid, - leave = _leave, - updatedAt = _updatedAt, - ) - MemberService.updateById(id, member) - call.respondRedirect("/memberList/$id") + val member = call.receive() + val oldData = MemberService.findById(id) ?: run { + call.respond(HttpStatusCode.NotFound) + return@put } + oldData.apply { + playerName = member.playerName + nickName = member.nickName + discordID = member.discordID + uid = member.uid + updatedAt = System.currentTimeMillis() + } + MemberService.updateById(id, oldData) + call.respond(HttpStatusCode.OK, oldData) } } }