Skip to content

Commit 4001005

Browse files
committed
fix bug and release for 1.0.4-SNAPSHOT
1 parent 4108230 commit 4001005

File tree

1 file changed

+25
-1
lines changed
  • src/main/kotlin/me/lightless/izumi/plugin/timer/impl

1 file changed

+25
-1
lines changed

src/main/kotlin/me/lightless/izumi/plugin/timer/impl/Ryuo.kt

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@ import me.lightless.izumi.ApplicationContext
66
import me.lightless.izumi.dao.ChatMessage
77
import me.lightless.izumi.dao.ChatMessageDAO
88
import me.lightless.izumi.dao.RyuoDAO
9+
import me.lightless.izumi.dao.RyuoModel
910
import me.lightless.izumi.plugin.timer.ITimer
1011
import net.mamoe.mirai.Bot
1112
import net.mamoe.mirai.contact.Contact.Companion.sendImage
1213
import net.mamoe.mirai.message.data.At
1314
import net.mamoe.mirai.message.data.buildMessageChain
15+
import org.jetbrains.exposed.sql.SortOrder
1416
import org.jetbrains.exposed.sql.and
1517
import org.jetbrains.exposed.sql.transactions.transaction
1618
import org.joda.time.DateTime
@@ -95,7 +97,7 @@ class Ryuo : ITimer {
9597
val nicknameInnerMap = nicknameMap[msgDAO.groupId] ?: continue
9698

9799
if (msgDAO.qq !in ryuoInnerMap.keys) {
98-
ryuoInnerMap[msgDAO.qq] = 0
100+
ryuoInnerMap[msgDAO.qq] = 1
99101
} else {
100102
ryuoInnerMap[msgDAO.qq] = ryuoInnerMap[msgDAO.qq] as Long + 1
101103
}
@@ -135,6 +137,16 @@ class Ryuo : ITimer {
135137
add(yesterdayMessage)
136138
})
137139

140+
// FIXME 这么写,会导致某天有多位龙王的时候,连任计数出错,以后再改
141+
for (rid in ryuoIds) {
142+
val historyCnt = this.checkHistory(rid)
143+
fullMessage = fullMessage.plus(buildMessageChain {
144+
add("\n")
145+
add(At(rid))
146+
add(" 已经连任 $historyCnt 天的龙王了,加油哦~")
147+
})
148+
}
149+
138150
// 存起来
139151
transaction {
140152
for (rid in ryuoIds) {
@@ -154,4 +166,16 @@ class Ryuo : ITimer {
154166
}
155167
}
156168

169+
private fun checkHistory(todayRyuo: Long): Int {
170+
val ryuoList = transaction {
171+
RyuoDAO.all().orderBy(RyuoModel.createdTime to SortOrder.DESC)
172+
}
173+
var cnt = 1
174+
ryuoList
175+
.takeWhile { it.qq == todayRyuo }
176+
.forEach { _ -> cnt += 1 }
177+
178+
return cnt
179+
}
180+
157181
}

0 commit comments

Comments
 (0)