package com.iailab.module.shasteel.job.task; import com.iailab.module.data.api.ind.IndItemApi; import com.iailab.module.data.api.ind.dto.ApiIndItemValueDTO; import com.iailab.module.model.api.mcs.McsApi; import com.iailab.module.model.api.mcs.dto.ChartDTO; import com.iailab.module.model.api.mcs.dto.ChartParamDTO; 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.util.ArrayList; import java.util.List; /** * 同步分段数据定时任务 * @author Jay */ @Component("syncElectricityPriceDataTask") public class SyncElectricityPriceDataTask implements ITask { private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private IndItemApi indItemApi; @Autowired private McsApi mcsApi; private static final String PRICE_ITEM_CODE = "PTDM01_EPS_EP"; private static final String IND_J_CODE = "A0000100085"; private static final String IND_F_CODE = "A0000100086"; private static final String IND_P_CODE = "A0000100087"; private static final String IND_G_CODE = "A0000100088"; @Override public void run(String params) { logger.info("SyncElectricityPriceDataTask定时任务正在执行,参数为:{}", params); try { ChartDTO chartDTO = new ChartDTO(); chartDTO.setChartCode(PRICE_ITEM_CODE); List chartParams = new ArrayList<>(); List jIndItemlist = indItemApi.queryIndItemDefaultValue(IND_J_CODE); logger.info("查询到的尖价格:" + jIndItemlist); if (!CollectionUtils.isEmpty(jIndItemlist)){ String jPrice = String.valueOf(jIndItemlist.get(0).getDataValue()); ChartParamDTO jChartParam = new ChartParamDTO(); jChartParam.setParamCode("EJ00"); jChartParam.setParamValue(jPrice); chartParams.add(jChartParam); } List fIndItemlist = indItemApi.queryIndItemDefaultValue(IND_F_CODE); logger.info("查询到的峰价格:" + fIndItemlist); if (!CollectionUtils.isEmpty(fIndItemlist)){ String fPrice = String.valueOf(fIndItemlist.get(0).getDataValue()); logger.info("查询到的峰价格:" + fPrice); ChartParamDTO fChartParam = new ChartParamDTO(); fChartParam.setParamCode("EF00"); fChartParam.setParamValue(fPrice); chartParams.add(fChartParam); } List pIndItemlist = indItemApi.queryIndItemDefaultValue(IND_P_CODE); logger.info("查询到的平价格:" + pIndItemlist); if (!CollectionUtils.isEmpty(pIndItemlist)){ String pPrice = String.valueOf(pIndItemlist.get(0).getDataValue()); ChartParamDTO pChartParam = new ChartParamDTO(); pChartParam.setParamCode("EP00"); pChartParam.setParamValue(pPrice); chartParams.add(pChartParam); } List gIndItemlist = indItemApi.queryIndItemDefaultValue(IND_G_CODE); logger.info("查询到的谷价格:" + gIndItemlist); if (!CollectionUtils.isEmpty(gIndItemlist)){ String gPrice = String.valueOf(gIndItemlist.get(0).getDataValue()); ChartParamDTO gChartParam = new ChartParamDTO(); gChartParam.setParamCode("EG00"); gChartParam.setParamValue(gPrice); chartParams.add(gChartParam); } chartDTO.setChartParams(chartParams); logger.info("chartDTO:" + chartDTO); mcsApi.updateChartParam(chartDTO); } catch (Exception ex) { logger.error("SyncElectricityPriceDataTask运行异常:" + ex.getMessage()); ex.printStackTrace(); } logger.info("SyncElectricityPriceDataTask运行完成"); } }