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<ChartParamDTO> chartParams = new ArrayList<>();
|
List<ApiIndItemValueDTO> 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<ApiIndItemValueDTO> 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<ApiIndItemValueDTO> 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<ApiIndItemValueDTO> 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运行完成");
|
}
|
|
}
|