package com.iailab.module.shasteel.job.task; import com.iailab.module.model.api.mdk.MdkApi; import com.iailab.module.model.api.mdk.dto.MdkPredictModuleRespDTO; import com.iailab.module.model.api.mdk.dto.MdkPredictReqDTO; import com.iailab.module.shasteel.mq.common.RoutingConstant; import com.iailab.module.shasteel.mq.consumer.AlarmMessage; import com.iailab.module.shasteel.mq.consumer.PredictFinishMessage; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.Calendar; /** * 执行模块预测定时任务 * */ @Component("runPredictModuleTask") public class RunPredictModuleTask implements ITask { private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private MdkApi mdkApi; @Autowired private RabbitTemplate rabbitTemplate; @Override public void run(String params) { logger.info("runPredictModuleTask定时任务正在执行,参数为:{}",params ); try { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.SECOND,0); calendar.set(Calendar.MILLISECOND,0); MdkPredictReqDTO dto = new MdkPredictReqDTO(); dto.setPredictTime(calendar.getTime()); dto.setModuleType(params); MdkPredictModuleRespDTO mdkPredictModuleRespDTO = mdkApi.predictModule(dto); logger.info(params + "模块预测完成," + mdkPredictModuleRespDTO); rabbitTemplate.convertAndSend(PredictFinishMessage.EXCHANGE, PredictFinishMessage.PREDICTFINISH_ROUTING_KEY, mdkPredictModuleRespDTO); } catch (Exception ex) { logger.error("runPredictModuleTask运行异常"); ex.printStackTrace(); } logger.info("runPredictModuleTask运行完成"); } }