fix: fix db bug
This commit is contained in:
7 files changed
+49
-38
No files matched your search
@@ -20,6 +20,11 @@ private suspend fun noAccount(message: GroupMessage) {
|
||||
message.reply("你还没有银行账户呢, 发送`创建账户`来创建一个账户吧~")
|
||||
}
|
||||
|
||||
suspend fun OneBotListener.getUserName(groupId: Long, userId: Long): String {
|
||||
val info = this.getGroupMemberInfo(groupId, userId)
|
||||
return info.card ?: info.nickname
|
||||
}
|
||||
|
||||
private const val INTEREST_RATE = 0.54
|
||||
|
||||
@CommandDescription("牛子银行根命令")
|
||||
@@ -59,7 +64,8 @@ class CreateBankAccountCommand : BaseCommand() {
|
||||
message.reply("你已经有账户了!")
|
||||
return
|
||||
}
|
||||
niuziBankManager.createBlankAccount(message.sender.userId)
|
||||
val userInfo = listener.getGroupMemberInfo(message.groupId, message.sender.userId)
|
||||
niuziBankManager.createBlankAccount(message.sender.userId, userInfo.card ?: userInfo.nickname)
|
||||
message.reply("成功创建了一个账户!")
|
||||
}
|
||||
}
|
||||
@@ -84,7 +90,8 @@ class BankTransferCommand : BaseCommand() {
|
||||
message.reply("你的牛子长度不够转账!")
|
||||
return
|
||||
}
|
||||
val result = niuziBankManager.transfer(message.sender.userId, target, amount)
|
||||
val username = listener.getUserName(message.groupId, message.sender.userId)
|
||||
val result = niuziBankManager.transfer(message.sender.userId, target, amount, username)
|
||||
message.reply("转账成功! 你在银行内剩余的牛子长度为: ${result?.balance}")
|
||||
}
|
||||
}
|
||||
@@ -113,7 +120,8 @@ class WithdrawCommand : BaseCommand() {
|
||||
message.reply("取出的长度必须大于0!")
|
||||
return
|
||||
}
|
||||
val result = niuziBankManager.withdraw(message.sender.userId, amount)
|
||||
val username = listener.getUserName(message.groupId, message.sender.userId)
|
||||
val result = niuziBankManager.withdraw(message.sender.userId, amount, username)
|
||||
niuziManager.updateLength(message.sender.userId, amount + amount * INTEREST_RATE)
|
||||
message.reply("取牛子成功, 你现在还剩${result.balance}cm的牛子在银行内")
|
||||
}
|
||||
@@ -143,8 +151,9 @@ class DepositCommand : BaseCommand() {
|
||||
message.reply("你身上的牛子不够用啦, 没办法存进银行! >>> ${niuzi.length}")
|
||||
return
|
||||
}
|
||||
val username = listener.getUserName(message.groupId, message.sender.userId)
|
||||
val self = niuziManager.updateLength(message.sender.userId, -amount)
|
||||
val result = niuziBankManager.deposit(message.sender.userId, amount)
|
||||
val result = niuziBankManager.deposit(message.sender.userId, amount, username)
|
||||
message.reply("存入成功你身上的牛子还有${self?.length}cm 银行账户内还有: ${result.balance}cm")
|
||||
}
|
||||
}
|
||||
@@ -14,16 +14,6 @@ import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
|
||||
private suspend fun getUserInfo(listener: OneBotListener, groupId: Long, userId: Long): String {
|
||||
try {
|
||||
val info = listener.getGroupMemberInfo(groupId, userId)
|
||||
return info.card ?: info.nickname
|
||||
} catch (_: NullPointerException) {
|
||||
return userId.toString()
|
||||
}
|
||||
}
|
||||
|
||||
class NiuziRankCommand : BaseCommand() {
|
||||
override val commandNames = listOf("牛子排行榜")
|
||||
|
||||
@@ -31,8 +21,7 @@ class NiuziRankCommand : BaseCommand() {
|
||||
val allNiuzi = niuziManager.getAllNiuzi().sortedBy { it.length }.reversed()
|
||||
val msg = MessageChain.Builder().addText("牛子长度排行榜如下").addNewLine()
|
||||
allNiuzi.forEach {
|
||||
val userName = getUserInfo(listener, message.groupId, it.userId)
|
||||
msg.addText("[$userName] | ${it.length}cm").addNewLine()
|
||||
msg.addText("[${it.nickname}] | ${it.length}cm").addNewLine()
|
||||
}
|
||||
message.reply(msg.build())
|
||||
}
|
||||
@@ -46,8 +35,7 @@ class NiuziBankRankCommand : BaseCommand() {
|
||||
.sortedBy { it.balance }.reversed()
|
||||
val msg = MessageChain.Builder().addText("牛子银行富豪榜排行如下").addNewLine()
|
||||
allNiuziBankAccounts.forEach {
|
||||
val userName = getUserInfo(listener, message.groupId, it.userId)
|
||||
msg.addText("[$userName] | ${it.balance}cm").addNewLine()
|
||||
msg.addText("[${it.nickname}] | ${it.balance}cm").addNewLine()
|
||||
}
|
||||
message.reply(msg.build())
|
||||
}
|
||||
|
||||
@@ -23,7 +23,8 @@ class NiuziSignCommand : BaseCommand() {
|
||||
message.reply("你今天已经对你的牛子使用了签到啦,明天再来吧~")
|
||||
return
|
||||
}
|
||||
val afterStatus = niuziManager.sign(message.sender.userId)
|
||||
val username = listener .getUserName(message.groupId, message.sender.userId)
|
||||
val afterStatus = niuziManager.sign(message.sender.userId, username)
|
||||
val msg = MessageChain.Builder()
|
||||
.addReply(message.messageId)
|
||||
.addText("签到成功~")
|
||||
|
||||
Reference in New Issue
Block a user