文档更新与代码优化

- 移除了过时的MapperScan注解,调整了相关服务的注解位置,以适应新的映射器配置。
- 对服务类中的日志对象创建方式进行了微调,采用companion object模式进行优化。
- 删除了与喝水提醒服务相关的多个文件,可能由于这些功能不再需要或被重构到其他文件中。
This commit is contained in:
Grand-cocoa 2024-09-23 18:41:54 +08:00
parent c141438048
commit 9755545639
9 changed files with 8 additions and 218 deletions

View File

@ -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<String>) {

View File

@ -29,7 +29,7 @@ class BotConfiguration {
@Bean("functionMap")
fun botFunctionMap(services: List<Service<out Event>>): HashMap<KClass<out Event>, MutableList<Service<out Event>>> {
val eventMap = HashMap<KClass<out Event>, MutableList<Service<out Event>>>();
val eventMap = HashMap<KClass<out Event>, MutableList<Service<out Event>>>()
for (service in services) {
val clazz = service::class
val annotations = clazz.annotations

View File

@ -23,7 +23,7 @@ class Initialization {
lateinit var functionMap: HashMap<KClass<out Event>, MutableList<Service<Event>>>
@Resource
lateinit var starter: Starter;
lateinit var starter: Starter
val log: Logger = LoggerFactory.getLogger(this::class.java)

View File

@ -17,10 +17,12 @@ import org.slf4j.LoggerFactory
@BotFunction(FriendMessageEvent::class, GroupMessageEvent::class)
class ExampleService : Service<MessageV2Event> {
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<MessageV2Event> {
* 服务行为
*/
override fun active(event: MessageV2Event) {
log.info("ExampleService: sender:{}", event.sender.id)
event.send("测试成功")
}
}

View File

@ -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<FriendMessageEvent> {
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")
}
}

View File

@ -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<FriendMessageEvent> {
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")
}
}

View File

@ -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
}
}

View File

@ -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<DrinkWaterUser>

View File

@ -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("定时喝水提醒服务 - 结束")
}
}