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); } }