From 4bc526d48c9b8d34bf085b407c5a5bcfefa3a2bf Mon Sep 17 00:00:00 2001 From: Grand-cocoa <1075576561@qq.com49111108+grand-cocoa@users.noreply.github.com> Date: Thu, 20 Mar 2025 18:12:07 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E9=87=8D=E6=9E=84=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E8=AE=B0=E5=BD=95=E6=96=B9=E5=BC=8F=E5=B9=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E9=83=A8=E5=88=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除各文件中的 Logger静态实例 - 在 util包下新增 LogUtil.kt 文件,提供统一的日志记录扩展属性 - 优化部分服务类中的逻辑结构 - 调整数据库查询方式,使用 KtQueryWrapper 替代 LambdaQueryWrapper --- .../configuration/Initialization.kt | 5 +-- .../sakuramiki/service/ExampleService.kt | 7 ++-- .../sakuramiki/service/mfa/MFABindService.kt | 17 ++++----- .../service/mfa/MFAGenerateService.kt | 36 ++++++++----------- .../service/randomphoto/RandomPhotoService.kt | 7 +--- .../alinadace/sakuramiki/util/ImageUtil.kt | 2 +- .../info/alinadace/sakuramiki/util/LogUtil.kt | 14 ++++++++ 7 files changed, 43 insertions(+), 45 deletions(-) create mode 100644 src/main/kotlin/info/alinadace/sakuramiki/util/LogUtil.kt diff --git a/src/main/kotlin/info/alinadace/sakuramiki/configuration/Initialization.kt b/src/main/kotlin/info/alinadace/sakuramiki/configuration/Initialization.kt index 05dc053..62411ca 100644 --- a/src/main/kotlin/info/alinadace/sakuramiki/configuration/Initialization.kt +++ b/src/main/kotlin/info/alinadace/sakuramiki/configuration/Initialization.kt @@ -1,12 +1,11 @@ package info.alinadace.sakuramiki.configuration import info.alinadace.sakuramiki.service.Service +import info.alinadace.sakuramiki.util.log import io.github.kloping.qqbot.Starter import io.github.kloping.qqbot.api.event.Event import io.github.kloping.qqbot.impl.ListenerHost import jakarta.annotation.Resource -import org.slf4j.Logger -import org.slf4j.LoggerFactory import org.springframework.boot.context.event.ApplicationReadyEvent import org.springframework.context.event.EventListener import kotlin.reflect.KClass @@ -25,8 +24,6 @@ class Initialization { @Resource lateinit var starter: Starter - val log: Logger = LoggerFactory.getLogger(this::class.java) - @EventListener(ApplicationReadyEvent::class) suspend fun initFunction() { val eventListener = object : ListenerHost() { diff --git a/src/main/kotlin/info/alinadace/sakuramiki/service/ExampleService.kt b/src/main/kotlin/info/alinadace/sakuramiki/service/ExampleService.kt index cdb74b9..962593d 100644 --- a/src/main/kotlin/info/alinadace/sakuramiki/service/ExampleService.kt +++ b/src/main/kotlin/info/alinadace/sakuramiki/service/ExampleService.kt @@ -2,13 +2,12 @@ package info.alinadace.sakuramiki.service import info.alinadace.sakuramiki.annotation.BotFunction import info.alinadace.sakuramiki.configuration.BotConfig +import info.alinadace.sakuramiki.util.log import io.github.kloping.qqbot.api.v2.FriendMessageEvent import io.github.kloping.qqbot.api.v2.GroupMessageEvent import io.github.kloping.qqbot.api.v2.MessageV2Event import io.github.kloping.qqbot.entities.ex.PlainText import jakarta.annotation.Resource -import org.slf4j.Logger -import org.slf4j.LoggerFactory /** * @author Kane @@ -17,9 +16,7 @@ import org.slf4j.LoggerFactory @BotFunction(FriendMessageEvent::class, GroupMessageEvent::class) class ExampleService : Service { - companion object { - val log: Logger = LoggerFactory.getLogger(this::class.java) - } + @Resource lateinit var botConfig: BotConfig diff --git a/src/main/kotlin/info/alinadace/sakuramiki/service/mfa/MFABindService.kt b/src/main/kotlin/info/alinadace/sakuramiki/service/mfa/MFABindService.kt index 2866590..86a6091 100644 --- a/src/main/kotlin/info/alinadace/sakuramiki/service/mfa/MFABindService.kt +++ b/src/main/kotlin/info/alinadace/sakuramiki/service/mfa/MFABindService.kt @@ -6,12 +6,11 @@ import info.alinadace.sakuramiki.annotation.BotFunction import info.alinadace.sakuramiki.service.Service import info.alinadace.sakuramiki.service.mfa.domain.MFA import info.alinadace.sakuramiki.service.mfa.mapper.MFAMapper +import info.alinadace.sakuramiki.util.log import io.github.kloping.qqbot.api.v2.FriendMessageEvent import io.github.kloping.qqbot.entities.ex.Image import io.github.kloping.qqbot.entities.ex.PlainText import jakarta.annotation.Resource -import org.slf4j.Logger -import org.slf4j.LoggerFactory import java.io.ByteArrayInputStream /** @@ -22,10 +21,6 @@ import java.io.ByteArrayInputStream @BotFunction(FriendMessageEvent::class) class MFABindService : Service { - companion object { - val log: Logger = LoggerFactory.getLogger(this::class.java) - } - @Resource private lateinit var mapper: MFAMapper @@ -41,7 +36,7 @@ class MFABindService : Service { if (message[0] is PlainText && message[0].toString().startsWith("#mfa")){ if (message.size == 1){ val split = message[0].toString().split(" ") - if (split.size != 4) { + if (split.size < 4) { return false } if (split[1] != "bind"){ @@ -64,8 +59,14 @@ class MFABindService : Service { if (message[0] is PlainText && message[0].toString().startsWith("#mfa")){ if (message.size == 1){ val split = message[0].toString().split(" ") - val mfa = MFA(event.friend.id, split[2], split[3]) + var arg = "" + for (argIndex in 3.. { - companion object { - val log: Logger = LoggerFactory.getLogger(this::class.java) - } + @Resource private lateinit var mapper: MFAMapper @@ -50,9 +46,10 @@ class MFAGenerateService : Service { override fun active(event: FriendMessageEvent) { val message = event.message if (message[0] is PlainText && message[0].toString().startsWith("mfa")){ - if (message.size == 1){ + val command = message[0].toString().split(" ") + if (command.size == 1){ val mfa = mapper.selectOne( - LambdaQueryWrapper() + KtQueryWrapper(MFA::class.java) .eq(MFA::uid, event.friend.id) .eq(MFA::name, "default") ) @@ -63,21 +60,18 @@ class MFAGenerateService : Service { event.send(MFAUtil.generate(mfa.secret, 30)) return } - if (message.size == 2){ - val split = message[0].toString().split(" ") - if (split.size == 2){ - val mfa = mapper.selectOne( - LambdaQueryWrapper() - .eq(MFA::uid, event.friend.id) - .eq(MFA::name, split[1]) - ) - if (mfa == null){ - event.send("您还没有绑定${split[1]} MFA,使用 #mfa bind ${split[1]} 绑定${split[1]} MFA") - return - } - event.send(MFAUtil.generate(mfa.secret, 30)) + if (command.size == 2){ + val mfa = mapper.selectOne( + KtQueryWrapper(MFA::class.java) + .eq(MFA::uid, event.friend.id) + .eq(MFA::name, command[1]) + ) + if (mfa == null){ + event.send("您还没有绑定${command[1]} MFA,使用 #mfa bind ${command[1]} 绑定${command[1]} MFA") return } + event.send(MFAUtil.generate(mfa.secret, 30)) + return } } } diff --git a/src/main/kotlin/info/alinadace/sakuramiki/service/randomphoto/RandomPhotoService.kt b/src/main/kotlin/info/alinadace/sakuramiki/service/randomphoto/RandomPhotoService.kt index 639f86b..b7fbc17 100644 --- a/src/main/kotlin/info/alinadace/sakuramiki/service/randomphoto/RandomPhotoService.kt +++ b/src/main/kotlin/info/alinadace/sakuramiki/service/randomphoto/RandomPhotoService.kt @@ -6,14 +6,13 @@ import info.alinadace.sakuramiki.service.Service import info.alinadace.sakuramiki.service.randomphoto.domain.FileList import info.alinadace.sakuramiki.service.randomphoto.domain.SingleFile import info.alinadace.sakuramiki.util.ImageUtil +import info.alinadace.sakuramiki.util.log import io.github.kloping.qqbot.api.v2.FriendMessageEvent import io.github.kloping.qqbot.api.v2.GroupMessageEvent import io.github.kloping.qqbot.api.v2.MessageV2Event import io.github.kloping.qqbot.entities.ex.Image import io.github.kloping.qqbot.entities.ex.PlainText import jakarta.annotation.Resource -import org.slf4j.Logger -import org.slf4j.LoggerFactory import java.io.ByteArrayInputStream /** @@ -23,10 +22,6 @@ import java.io.ByteArrayInputStream @BotFunction(FriendMessageEvent::class, GroupMessageEvent::class) class RandomPhotoService : Service { - companion object { - val log: Logger = LoggerFactory.getLogger(this::class.java) - } - @Resource lateinit var alistService: AlistService diff --git a/src/main/kotlin/info/alinadace/sakuramiki/util/ImageUtil.kt b/src/main/kotlin/info/alinadace/sakuramiki/util/ImageUtil.kt index e0b8d37..70b7355 100644 --- a/src/main/kotlin/info/alinadace/sakuramiki/util/ImageUtil.kt +++ b/src/main/kotlin/info/alinadace/sakuramiki/util/ImageUtil.kt @@ -59,7 +59,7 @@ class ImageUtil { fun download(url: String): ByteArray? { val request = Request.Builder().get().url(url).build() - return okHttpClient.newCall(request).execute().body?.bytes(); + return okHttpClient.newCall(request).execute().body?.bytes() } } } diff --git a/src/main/kotlin/info/alinadace/sakuramiki/util/LogUtil.kt b/src/main/kotlin/info/alinadace/sakuramiki/util/LogUtil.kt new file mode 100644 index 0000000..f83a4e0 --- /dev/null +++ b/src/main/kotlin/info/alinadace/sakuramiki/util/LogUtil.kt @@ -0,0 +1,14 @@ +package info.alinadace.sakuramiki.util + +import org.slf4j.Logger +import org.slf4j.LoggerFactory + +/** + * Log 扩展 + * @author Kane + * @since 2025/3/20 17:50 + */ + +inline val T.log: Logger + get() = LoggerFactory.getLogger(T::class.java) +