package com.zeodao.reminder.strategy; import com.zeodao.reminder.config.TaskReminderConfig; import com.zeodao.reminder.enums.ScheduleType; import com.zeodao.reminder.enums.TaskSystemType; import com.zeodao.reminder.service.ZentaoTaskReminderService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; /** * 禅道逾期任务提醒处理器 * 处理禅道系统的 overdue-reminder 类型提醒 * * @author Zeodao * @version 2.0.0 */ @Component public class ZentaoOverdueReminderHandler implements ReminderHandler { private static final Logger logger = LoggerFactory.getLogger(ZentaoOverdueReminderHandler.class); @Autowired private ZentaoTaskReminderService zentaoTaskReminderService; @Override public boolean supports(ScheduleType scheduleType, TaskSystemType taskSystemType) { // 只支持禅道系统的逾期提醒 return scheduleType.isOverdueReminder() && taskSystemType == TaskSystemType.ZENTAO; } @Override public void handleReminder(TaskReminderConfig.Group group, ScheduleType scheduleType, TaskReminderConfig.Schedule schedule) { logger.info("处理禅道逾期任务提醒 - 群组: {}", group.getName()); try { // 发送禅道任务状态统计提醒(包含任务和BUG详情) zentaoTaskReminderService.sendTaskReminder(group); logger.info("禅道逾期任务提醒发送成功 - 群组: {}", group.getName()); } catch (Exception e) { logger.error("禅道逾期任务提醒发送失败 - 群组: {}", group.getName(), e); } } }