62 lines
2.0 KiB
Java
62 lines
2.0 KiB
Java
package com.zeodao.reminder.service;
|
|
|
|
import com.zeodao.reminder.config.TaskReminderConfig;
|
|
import com.zeodao.reminder.enums.ScheduleType;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
/**
|
|
* 启用状态检查服务
|
|
* 简化版本:直接检查提醒类型的启用状态
|
|
*
|
|
* @author Zeodao
|
|
* @version 2.0.0
|
|
*/
|
|
@Service
|
|
public class EnabledCheckService {
|
|
|
|
private static final Logger logger = LoggerFactory.getLogger(EnabledCheckService.class);
|
|
|
|
/**
|
|
* 检查群组的特定提醒类型是否启用
|
|
*
|
|
* @param group 群组配置
|
|
* @param scheduleType 提醒类型
|
|
* @return 是否启用
|
|
*/
|
|
public boolean isReminderEnabled(TaskReminderConfig.Group group, ScheduleType scheduleType) {
|
|
TaskReminderConfig.Schedule schedule = group.getSchedules().get(scheduleType.getCode());
|
|
|
|
if (schedule == null) {
|
|
logger.debug("群组 {} 未配置 {} 提醒", group.getName(), scheduleType.getDescription());
|
|
return false;
|
|
}
|
|
|
|
boolean enabled = schedule.isEnabled();
|
|
if (!enabled) {
|
|
logger.debug("群组 {} 的 {} 提醒已禁用", group.getName(), scheduleType.getDescription());
|
|
} else {
|
|
logger.debug("群组 {} 的 {} 提醒已启用", group.getName(), scheduleType.getDescription());
|
|
}
|
|
|
|
return enabled;
|
|
}
|
|
|
|
/**
|
|
* 检查群组的特定提醒类型是否启用(字符串版本,用于兼容)
|
|
*
|
|
* @param group 群组配置
|
|
* @param scheduleTypeCode 提醒类型代码
|
|
* @return 是否启用
|
|
*/
|
|
public boolean isReminderEnabled(TaskReminderConfig.Group group, String scheduleTypeCode) {
|
|
ScheduleType scheduleType = ScheduleType.fromCode(scheduleTypeCode);
|
|
if (scheduleType == null) {
|
|
logger.warn("无效的提醒类型代码: {}", scheduleTypeCode);
|
|
return false;
|
|
}
|
|
return isReminderEnabled(group, scheduleType);
|
|
}
|
|
}
|