package org.jeecg.modules.quartz.job; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.util.DateUtils; import org.jeecg.modules.iot.entity.MqttParameter; import org.jeecg.modules.iot.entity.ServerDeploy; import org.jeecg.modules.iot.mqtt.config.MqttCustomerClient; import org.jeecg.modules.iot.service.IServerDeployService; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.beans.factory.annotation.Autowired; import java.util.List; /** * 示例不带参定时任务 * * @Author Scott */ @Slf4j public class SampleJob implements Job { @Autowired private IServerDeployService serverDeployService; @Autowired private MqttCustomerClient mqttCustomerClient; @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { List serverDeploys = serverDeployService.list(); if (serverDeploys != null) { serverDeploys.forEach(sd -> { if (sd.getGuardState().equals(1)) { // 发送心跳信号 MqttParameter mqttParameter = new MqttParameter(); mqttParameter.setId(sd.getServerCode()); mqttParameter.setType("palpitate"); mqttParameter.setParameter1("0"); mqttCustomerClient.pushlish(2, false, sd.getServerCode(), mqttParameter); // 发送采集状态 MqttParameter parameter = new MqttParameter(); parameter.setId(sd.getServerCode()); parameter.setType("collect"); parameter.setParameter1("0"); mqttCustomerClient.pushlish(2, false, sd.getServerCode(), parameter); log.info("心跳♥采集状态发送成功! 服务器编号:" + sd.getServerCode() + " 时间:" + DateUtils.getTimestamp()); } }); } // 查询虚设备下参数存在oporation的虚设备列表 List serverDeploy = serverDeployService.list(); // 查询是否存在设备状态 } }