package com.iailab.module.data.job.task; import com.alibaba.nacos.common.utils.StringUtils; import com.iailab.module.data.api.ind.IndItemApi; import com.iailab.module.data.api.ind.dto.ApiIndItemValueDTO; import com.iailab.module.data.ind.item.service.IndItemService; import com.iailab.module.data.ind.item.vo.IndItemPageReqVO; import com.iailab.module.data.ind.item.vo.IndItemRespVO; import com.iailab.module.data.ind.value.service.IndItemValueService; import com.iailab.module.data.ind.value.vo.IndItemValueSaveReqVO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Calendar; import java.util.List; /** * @description: Point采集器1h * @author: dzd * @date: 2025/1/18 14:07 **/ @Component("indCollectTaskNetDay") public class IndCollectTaskNetDay implements ITask { private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private IndItemService indItemService; @Autowired private IndItemValueService indItemValueService; @Autowired private IndItemApi indItemApi; @Override public void run(String params){ logger.debug("indCollectTaskNetDay定时任务正在执行,参数为:{}", params); try { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.MILLISECOND, 0); IndItemPageReqVO reqVO = new IndItemPageReqVO(); if (StringUtils.isNotBlank(params)){ reqVO.setSolidifyFlag(params); }else { reqVO.setSolidifyFlag("DAY"); } List indItemList = indItemService.getList(reqVO); if (!CollectionUtils.isEmpty(indItemList)){ for (IndItemRespVO indItem : indItemList) { logger.info("开始查询指标数据,指标编号:" + indItem.getItemNo()); List indItemValueList = indItemApi.queryIndItemDefaultValue(indItem.getItemNo()); for (ApiIndItemValueDTO indItemValue : indItemValueList) { logger.info("开始保存指标数据,指标编号:" + indItem.getItemNo() + ", 指标数据:" + indItemValue.getDataValue()); IndItemValueSaveReqVO saveReqVO = new IndItemValueSaveReqVO(); saveReqVO.setItemNo(indItem.getItemNo()); saveReqVO.setDataTime(indItemValue.getDataTime()); saveReqVO.setDataValue((BigDecimal) indItemValue.getDataValue()); indItemValueService.create(saveReqVO); } } } logger.info("indCollectTaskNetDay定时任务完成时间:" + LocalDateTime.now()); } catch (Exception ex) { ex.printStackTrace(); logger.error("indCollectTaskNetDay定时任务失败时间:" + LocalDateTime.now()); } } }