diff --git a/src/main/kotlin/info/alinadace/sakuramiki/SakuramikiApplication.kt b/src/main/kotlin/info/alinadace/sakuramiki/SakuramikiApplication.kt index a272447..256b08b 100644 --- a/src/main/kotlin/info/alinadace/sakuramiki/SakuramikiApplication.kt +++ b/src/main/kotlin/info/alinadace/sakuramiki/SakuramikiApplication.kt @@ -5,7 +5,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication import org.springframework.boot.runApplication @SpringBootApplication -@MapperScan("info.alinadace.sakuramiki.service.**.mapper") +@MapperScan("info.alinadace.sakuramiki.service") class SakuramikiApplication fun main(args: Array) { diff --git a/src/main/kotlin/info/alinadace/sakuramiki/bean/BotConfiguration.kt b/src/main/kotlin/info/alinadace/sakuramiki/bean/BotConfiguration.kt index caad4ee..c27ef42 100644 --- a/src/main/kotlin/info/alinadace/sakuramiki/bean/BotConfiguration.kt +++ b/src/main/kotlin/info/alinadace/sakuramiki/bean/BotConfiguration.kt @@ -29,7 +29,7 @@ class BotConfiguration { @Bean("functionMap") fun botFunctionMap(services: List>): HashMap, MutableList>> { - val eventMap = HashMap, MutableList>>(); + val eventMap = HashMap, MutableList>>() for (service in services) { val clazz = service::class val annotations = clazz.annotations diff --git a/src/main/kotlin/info/alinadace/sakuramiki/configuration/Initialization.kt b/src/main/kotlin/info/alinadace/sakuramiki/configuration/Initialization.kt index 42d1de5..05dc053 100644 --- a/src/main/kotlin/info/alinadace/sakuramiki/configuration/Initialization.kt +++ b/src/main/kotlin/info/alinadace/sakuramiki/configuration/Initialization.kt @@ -23,7 +23,7 @@ class Initialization { lateinit var functionMap: HashMap, MutableList>> @Resource - lateinit var starter: Starter; + lateinit var starter: Starter val log: Logger = LoggerFactory.getLogger(this::class.java) diff --git a/src/main/kotlin/info/alinadace/sakuramiki/service/ExampleService.kt b/src/main/kotlin/info/alinadace/sakuramiki/service/ExampleService.kt index 92d92d6..2ffc308 100644 --- a/src/main/kotlin/info/alinadace/sakuramiki/service/ExampleService.kt +++ b/src/main/kotlin/info/alinadace/sakuramiki/service/ExampleService.kt @@ -17,10 +17,12 @@ import org.slf4j.LoggerFactory @BotFunction(FriendMessageEvent::class, GroupMessageEvent::class) class ExampleService : Service { - val log: Logger = LoggerFactory.getLogger(this::class.java) + companion object { + val log: Logger = LoggerFactory.getLogger(this::class.java) + } @Resource - lateinit var botConfig: BotConfig; + lateinit var botConfig: BotConfig /** * 服务入口 @@ -39,6 +41,7 @@ class ExampleService : Service { * 服务行为 */ override fun active(event: MessageV2Event) { + log.info("ExampleService: sender:{}", event.sender.id) event.send("测试成功") } } diff --git a/src/main/kotlin/info/alinadace/sakuramiki/service/drink_water/DisableService.kt b/src/main/kotlin/info/alinadace/sakuramiki/service/drink_water/DisableService.kt deleted file mode 100644 index 92b8476..0000000 --- a/src/main/kotlin/info/alinadace/sakuramiki/service/drink_water/DisableService.kt +++ /dev/null @@ -1,66 +0,0 @@ -package info.alinadace.sakuramiki.service.drink_water - -import com.baomidou.mybatisplus.extension.kotlin.KtQueryWrapper -import info.alinadace.sakuramiki.service.Service -import info.alinadace.sakuramiki.service.drink_water.domain.DrinkWaterUser -import info.alinadace.sakuramiki.service.drink_water.mapper.DrinkWaterMapper -import io.github.kloping.qqbot.api.v2.FriendMessageEvent -import jakarta.annotation.Resource -import org.slf4j.Logger -import org.slf4j.LoggerFactory - -/** - * 定时喝水提醒关闭服务 - * @author Kane - * @since 2024/9/18 13:27 - */ -//@BotFunction(FriendMessageEvent::class) -@Deprecated("限制无法实现") -class DisableService : Service { - - companion object { - val log: Logger = LoggerFactory.getLogger(this::class.java) - } - - - @Resource - lateinit var drinkWaterMapper: DrinkWaterMapper - - /** - * 服务入口 - */ - override fun entrance(event: FriendMessageEvent): Boolean { - val chain = event.message -// val filter = chain.filter { it !is MessageSource } -// if (filter.size == 1 && filter[0] is PlainText) { -// if (filter[0].contentToString() == "关闭喝水提醒") { -// return true -// } -// } - return false - } - - /** - * 服务行为 - */ - override fun active(event: FriendMessageEvent) { - log.info("服务关闭请求 - DrinkWater - target:{}", event.sender.id) - val one = drinkWaterMapper.selectOne( - KtQueryWrapper(DrinkWaterUser()) - .eq(DrinkWaterUser::botId, event.sender.id) - ) - if (one == null) { -// event.subject.sendMessage("服务已关闭 - DrinkWater") - log.info("服务已关闭 - DrinkWater - target:{} - 无记录", event.sender.id) - return - } - if (one.enable == DrinkWaterUser.ENABLE) { - one.enable = DrinkWaterUser.DISABLE - val updateById = drinkWaterMapper.updateById(one) -// event.subject.sendMessage("服务已关闭 - DrinkWater") - log.info("服务已关闭 - DrinkWater - target:{} - 记录更新 - {}", event.sender.id, updateById) - return - } -// event.subject.sendMessage("服务已关闭 - DrinkWater") - } -} diff --git a/src/main/kotlin/info/alinadace/sakuramiki/service/drink_water/EnableService.kt b/src/main/kotlin/info/alinadace/sakuramiki/service/drink_water/EnableService.kt deleted file mode 100644 index 21e5082..0000000 --- a/src/main/kotlin/info/alinadace/sakuramiki/service/drink_water/EnableService.kt +++ /dev/null @@ -1,71 +0,0 @@ -package info.alinadace.sakuramiki.service.drink_water - -import com.baomidou.mybatisplus.extension.kotlin.KtQueryWrapper -import info.alinadace.sakuramiki.service.Service -import info.alinadace.sakuramiki.service.drink_water.domain.DrinkWaterUser -import info.alinadace.sakuramiki.service.drink_water.mapper.DrinkWaterMapper -import io.github.kloping.qqbot.api.v2.FriendMessageEvent -import jakarta.annotation.Resource -import org.slf4j.Logger -import org.slf4j.LoggerFactory - -/** - * 定时喝水提醒开启服务 - * @author Kane - * @since 2024/9/18 13:27 - */ -//@BotFunction(FriendMessageEvent::class) -@Deprecated("限制无法实现") -class EnableService : Service { - - companion object { - val log: Logger = LoggerFactory.getLogger(this::class.java) - } - - @Resource - lateinit var drinkWaterMapper: DrinkWaterMapper - - /** - * 服务入口 - */ - override fun entrance(event: FriendMessageEvent): Boolean { - val chain = event.message -// val filter = chain.filter { it !is MessageSource } -// if (filter.size == 1 && filter[0] is PlainText) { -// if (filter[0].contentToString() == "开启喝水提醒") { -// return true -// } -// } - return false - } - - /** - * 服务行为 - */ - override fun active(event: FriendMessageEvent) { - log.info("服务开启请求 - DrinkWater - target:{}", event.sender.id) - val one = drinkWaterMapper.selectOne( - KtQueryWrapper(DrinkWaterUser()) - .eq(DrinkWaterUser::botId, event.sender.id) - ) - if (one == null) { - val let = DrinkWaterUser().apply { -// botId = event.sender.id - enable = DrinkWaterUser.ENABLE - }.let { - drinkWaterMapper.insert(it) - } -// event.subject.sendMessage("服务已开启 - DrinkWater") - log.info("服务开启请求 - DrinkWater - target:{} - 记录创建 - {}", event.sender.id, let) - return - } - if (one.enable == DrinkWaterUser.DISABLE) { - one.enable = DrinkWaterUser.ENABLE - val updateById = drinkWaterMapper.updateById(one) -// event.subject.sendMessage("服务已开启 - DrinkWater") - log.info("服务开启请求 - DrinkWater - target:{} - 记录更新 - {}", event.sender.id, updateById) - return - } -// event.subject.sendMessage("服务已开启 - DrinkWater") - } -} diff --git a/src/main/kotlin/info/alinadace/sakuramiki/service/drink_water/domain/DrinkWaterUser.kt b/src/main/kotlin/info/alinadace/sakuramiki/service/drink_water/domain/DrinkWaterUser.kt deleted file mode 100644 index 067d338..0000000 --- a/src/main/kotlin/info/alinadace/sakuramiki/service/drink_water/domain/DrinkWaterUser.kt +++ /dev/null @@ -1,18 +0,0 @@ -package info.alinadace.sakuramiki.service.drink_water.domain - -import com.baomidou.mybatisplus.annotation.TableId - -/** - * 喝水提醒用户 - */ -class DrinkWaterUser { - @TableId - var id: Long? = null - var botId: Long? = null - var enable: Byte? = null - - companion object { - const val ENABLE: Byte = 1 - const val DISABLE: Byte = 0 - } -} diff --git a/src/main/kotlin/info/alinadace/sakuramiki/service/drink_water/mapper/DrinkWaterMapper.kt b/src/main/kotlin/info/alinadace/sakuramiki/service/drink_water/mapper/DrinkWaterMapper.kt deleted file mode 100644 index d3e55fc..0000000 --- a/src/main/kotlin/info/alinadace/sakuramiki/service/drink_water/mapper/DrinkWaterMapper.kt +++ /dev/null @@ -1,11 +0,0 @@ -package info.alinadace.sakuramiki.service.drink_water.mapper - -import com.baomidou.mybatisplus.core.mapper.BaseMapper -import info.alinadace.sakuramiki.service.drink_water.domain.DrinkWaterUser - -/** - * 喝水提醒用户Mapper - * @author Kane - * @since 2024/9/18 13:39 - */ -interface DrinkWaterMapper : BaseMapper diff --git a/src/main/kotlin/info/alinadace/sakuramiki/service/drink_water/task/ReminderService.kt b/src/main/kotlin/info/alinadace/sakuramiki/service/drink_water/task/ReminderService.kt deleted file mode 100644 index 2e00e74..0000000 --- a/src/main/kotlin/info/alinadace/sakuramiki/service/drink_water/task/ReminderService.kt +++ /dev/null @@ -1,47 +0,0 @@ -package info.alinadace.sakuramiki.service.drink_water.task - -import com.baomidou.mybatisplus.extension.kotlin.KtQueryWrapper -import info.alinadace.sakuramiki.service.drink_water.domain.DrinkWaterUser -import info.alinadace.sakuramiki.service.drink_water.mapper.DrinkWaterMapper -import jakarta.annotation.Resource -import org.slf4j.Logger -import org.slf4j.LoggerFactory - -/** - * 定时喝水提醒服务 - * @author Kane - * @since 2024/9/18 13:59 - */ -//@Service -@Deprecated("限制无法实现") -class ReminderService { - - companion object { - val log: Logger = LoggerFactory.getLogger(this::class.java) - } - -// @Resource -// lateinit var bot: Bot - - @Resource - lateinit var drinkWaterMapper: DrinkWaterMapper - - // @Scheduled(cron = "0 0 0,8-23/2 * * *") - suspend fun reminder() { - log.info("定时喝水提醒服务 - 开始") - val list = drinkWaterMapper.selectList( - KtQueryWrapper(DrinkWaterUser()) - .eq(DrinkWaterUser::enable, DrinkWaterUser.ENABLE) - ) - log.info("定时喝水提醒服务 - 查询结果 - {}", list) - list.forEach { - if (it.botId == null || it.botId == 0L) { - return@forEach - } -// bot.getFriend(it.botId!!)?.sendMessage("请喝水") - log.info("定时喝水提醒服务 - 发送消息 - {}", it.botId) - } - log.info("定时喝水提醒服务 - 结束") - } - -}