parent
57eac8c0b4
commit
a0a6af1ba1
5 changed files with 195 additions and 0 deletions
@ -0,0 +1,43 @@ |
||||
package org.springblade.job.processor.ehs; |
||||
|
||||
import jakarta.annotation.Resource; |
||||
import lombok.Data; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springblade.desk.energy.feign.IBsTowerReportTaskClient; |
||||
import org.springframework.stereotype.Component; |
||||
import tech.powerjob.worker.core.processor.ProcessResult; |
||||
import tech.powerjob.worker.core.processor.TaskContext; |
||||
import tech.powerjob.worker.core.processor.sdk.BasicProcessor; |
||||
|
||||
/** |
||||
* 酸雾塔报警提醒定时任务处理器 |
||||
* 定期检查超过3分钟未处理的酸雾塔报警,并给环保技术员角色发送系统待办提醒 |
||||
* |
||||
* @author BladeX |
||||
*/ |
||||
@Component |
||||
@Data |
||||
@Slf4j |
||||
public class AcidMistTowerAlarmNotifyProcessor implements BasicProcessor { |
||||
|
||||
@Resource |
||||
private IBsTowerReportTaskClient bsTowerReportTaskClient; |
||||
|
||||
@Override |
||||
public ProcessResult process(TaskContext context) throws Exception { |
||||
log.info("========== 开始执行酸雾塔报警提醒检查定时任务 =========="); |
||||
log.info("任务参数: {}", context.getJobParams()); |
||||
|
||||
try { |
||||
// 调用Feign客户端检查未处理的报警并发送提醒
|
||||
bsTowerReportTaskClient.checkUnprocessedAlarm(); |
||||
log.info("酸雾塔报警提醒检查成功"); |
||||
} catch (Exception e) { |
||||
log.error("酸雾塔报警提醒检查异常", e); |
||||
return new ProcessResult(false, "酸雾塔报警提醒检查失败: " + e.getMessage()); |
||||
} |
||||
|
||||
log.info("========== 酸雾塔报警提醒检查定时任务执行完毕 =========="); |
||||
return new ProcessResult(true); |
||||
} |
||||
} |
||||
@ -0,0 +1,23 @@ |
||||
package org.springblade.desk.energy.feign; |
||||
|
||||
import org.springblade.core.launch.constant.AppConstant; |
||||
import org.springframework.cloud.openfeign.FeignClient; |
||||
import org.springframework.web.bind.annotation.GetMapping; |
||||
|
||||
/** |
||||
* 酸雾塔报警提醒Feign客户端接口 |
||||
*/ |
||||
@FeignClient( |
||||
value = AppConstant.APPLICATION_DESK_NAME |
||||
) |
||||
public interface IBsTowerReportTaskClient { |
||||
|
||||
String API_PREFIX = "/feign/client/bs-tower-report"; |
||||
String CHECK_UNPROCESSED_ALARM = API_PREFIX + "/check-unprocessed-alarm"; |
||||
|
||||
/** |
||||
* 检查未处理的酸雾塔报警并发送提醒 |
||||
*/ |
||||
@GetMapping(CHECK_UNPROCESSED_ALARM) |
||||
void checkUnprocessedAlarm(); |
||||
} |
||||
@ -0,0 +1,26 @@ |
||||
package org.springblade.desk.energy.feign; |
||||
|
||||
import io.swagger.v3.oas.annotations.Hidden; |
||||
import jakarta.annotation.Resource; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springblade.desk.energy.service.IBsTowerReportService; |
||||
import org.springframework.web.bind.annotation.RestController; |
||||
|
||||
/** |
||||
* 酸雾塔报警提醒Feign客户端实现 |
||||
*/ |
||||
@RestController |
||||
@Hidden |
||||
@Slf4j |
||||
public class BsTowerReportTaskClientImpl implements IBsTowerReportTaskClient { |
||||
|
||||
@Resource |
||||
private IBsTowerReportService bsTowerReportService; |
||||
|
||||
@Override |
||||
public void checkUnprocessedAlarm() { |
||||
log.info("开始检查未处理的酸雾塔报警..."); |
||||
bsTowerReportService.checkUnprocessedAlarmAndNotify(); |
||||
log.info("酸雾塔报警检查完成"); |
||||
} |
||||
} |
||||
Loading…
Reference in new issue