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