Compare commits

..

No commits in common. "c6973a361898e5f98ab7698a8f22b9e01e5dca1d" and "21eac9a417888cb270c1c26e40db9e3be5f5f4b6" have entirely different histories.

5 changed files with 14 additions and 58 deletions

View File

@ -5,5 +5,5 @@ import kotlinx.serialization.Serializable
@Serializable @Serializable
data class RecordData( data class RecordData(
val member: Member, val member: Member,
var record: MemberRecord? var record: MemberRecord
) )

View File

@ -21,11 +21,6 @@ object MemberRecordService {
return recordCollection.findOne(MemberRecord::_id eq bsonId) return recordCollection.findOne(MemberRecord::_id eq bsonId)
} }
fun findByMemberIdBetweenDate(id: String, start: Long, end: Long): MemberRecord? {
val bsonId: Id<Member> = ObjectId(id).toId()
return recordCollection.findOne(MemberRecord::memberId eq bsonId, MemberRecord::createdAt gte start, MemberRecord::createdAt lt end)
}
fun findByTimeBetween(start: Long, end: Long): List<MemberRecord> { fun findByTimeBetween(start: Long, end: Long): List<MemberRecord> {
return recordCollection.find(MemberRecord::createdAt gte start, MemberRecord::createdAt lt end).toList() return recordCollection.find(MemberRecord::createdAt gte start, MemberRecord::createdAt lt end).toList()
} }

View File

@ -7,13 +7,11 @@ import io.ktor.server.application.*
fun Application.configureHTTP() { fun Application.configureHTTP() {
install(CORS) { install(CORS) {
allowMethod(HttpMethod.Options) allowMethod(HttpMethod.Options)
allowMethod(HttpMethod.Get)
allowMethod(HttpMethod.Put) allowMethod(HttpMethod.Put)
//allowMethod(HttpMethod.Delete) allowMethod(HttpMethod.Delete)
allowMethod(HttpMethod.Post) allowMethod(HttpMethod.Patch)
allowHeader(HttpHeaders.Authorization)
allowHeader(HttpHeaders.AccessControlAllowOrigin) allowHeader(HttpHeaders.AccessControlAllowOrigin)
allowHeader(HttpHeaders.Accept)
allowHeader(HttpHeaders.ContentType)
anyHost() anyHost()
allowCredentials = true allowCredentials = true
allowNonSimpleContentTypes = true allowNonSimpleContentTypes = true

View File

@ -21,9 +21,6 @@ import java.util.*
fun Application.configureMemberRecordRouting() { fun Application.configureMemberRecordRouting() {
routing { routing {
options("{...}") {
call.respond(HttpStatusCode.OK)
}
route("/api") { route("/api") {
route("/record") { route("/record") {
get { get {
@ -40,11 +37,6 @@ fun Application.configureMemberRecordRouting() {
call.respond(HttpStatusCode.NotFound) call.respond(HttpStatusCode.NotFound)
return@post return@post
} }
val now = Calendar.getInstance()
val startTime = getDayStartLong(now[Calendar.YEAR], now[Calendar.MONTH], now[Calendar.DAY_OF_MONTH])
val endTime = getDayEndLong(now[Calendar.YEAR], now[Calendar.MONTH], now[Calendar.DAY_OF_MONTH])
val existData = MemberRecordService.findByMemberIdBetweenDate(id, startTime, endTime) ?: run {
record.apply { record.apply {
memberId = member._id memberId = member._id
createdAt = System.currentTimeMillis() createdAt = System.currentTimeMillis()
@ -53,21 +45,6 @@ fun Application.configureMemberRecordRouting() {
MemberRecordService.create(record).let { MemberRecordService.create(record).let {
call.respond(HttpStatusCode.OK, record) call.respond(HttpStatusCode.OK, record)
} }
return@post
}
existData.apply {
memberId = member._id
record1 = record.record1
record1c = record.record1c
record2 = record.record2
record2c = record.record2c
record3 = record.record3
record3c = record.record3c
updatedAt = System.currentTimeMillis()
}
MemberRecordService.updateById(existData._id.toString(), existData).let {
call.respond(HttpStatusCode.OK, existData)
}
} }
get("/{year}/{month}/{day}") { get("/{year}/{month}/{day}") {
val year = call.parameters.getOrFail<Int>("year").toInt() val year = call.parameters.getOrFail<Int>("year").toInt()
@ -109,38 +86,27 @@ fun Application.configureMemberRecordRouting() {
} }
} }
fun getDayStartLong(year: Int, month: Int, day: Int): Long { fun getData(year: Int, month: Int, day: Int): List<RecordData> {
val calendar = Calendar.getInstance().apply { val calendar = Calendar.getInstance().apply {
set(Calendar.YEAR, year) set(Calendar.YEAR, year)
set(Calendar.MONTH, month) set(Calendar.MONTH, month)
set(Calendar.DAY_OF_MONTH, day) set(Calendar.DAY_OF_MONTH, day)
} }
return calendar.apply { val startTime = calendar.apply {
set(Calendar.HOUR_OF_DAY, 5) set(Calendar.HOUR_OF_DAY, 5)
set(Calendar.MINUTE, 0) set(Calendar.MINUTE, 0)
set(Calendar.SECOND, 0) set(Calendar.SECOND, 0)
set(Calendar.MILLISECOND, 0) set(Calendar.MILLISECOND, 0)
}.timeInMillis }.timeInMillis
} val endTime = startTime + 86399000L
fun getDayEndLong(year: Int, month: Int, day: Int): Long {
val startTime = getDayStartLong(year, month, day)
return startTime + 86399000L
}
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 // Show a list of articles
val records = ArrayList<RecordData>() val records = ArrayList<RecordData>()
val memberList = MemberService.findAll() val memberList = MemberService.findAll()
memberList.forEach { member -> memberList.forEach { member ->
if (member.createAt!! < startTime && !member.leave) {
records.add( records.add(
RecordData(member = member, null) RecordData(member = member, MemberRecord())
) )
} }
}
val recordList = MemberRecordService.findByTimeBetween(startTime, endTime) val recordList = MemberRecordService.findByTimeBetween(startTime, endTime)
recordList.forEach { record -> recordList.forEach { record ->
val player = MemberService.findById(record.memberId.toString()) val player = MemberService.findById(record.memberId.toString())

View File

@ -16,9 +16,6 @@ import kotlinx.coroutines.coroutineScope
fun Application.configureMemberRouting() { fun Application.configureMemberRouting() {
routing { routing {
options("{...}") {
call.respond(HttpStatusCode.OK)
}
route("/api") { route("/api") {
route("/member") { route("/member") {
get { get {