46 lines
1.7 KiB
Java
46 lines
1.7 KiB
Java
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);
|
||
}
|
||
}
|
||
}
|