package com.iailab.module.ansteel.gas.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.iailab.module.ansteel.api.dto.PreDataViewSimpleDTO;
|
import com.iailab.module.ansteel.gas.dao.GasPredConfDao;
|
import com.iailab.module.ansteel.gas.entity.GasPredConfEntity;
|
import com.iailab.module.ansteel.gas.service.GasPredConfService;
|
import com.iailab.module.model.api.mcs.McsApi;
|
import com.iailab.module.model.api.mcs.dto.PreDataBarLineReqVO;
|
import com.iailab.module.model.api.mcs.dto.PreDataBarLineRespVO;
|
import com.iailab.module.model.api.mcs.dto.PreDataViewRespDTO;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.util.CollectionUtils;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.function.Function;
|
import java.util.stream.Collectors;
|
|
/**
|
* @author dyk
|
* @Description
|
* @createTime 2025年04月18日
|
*/
|
@Slf4j
|
@Service
|
public class GasPredConfServiceImpl implements GasPredConfService {
|
|
@Resource
|
private GasPredConfDao gasPredConfDao;
|
@Autowired
|
private McsApi mcsApi;
|
|
@Override
|
public List<PreDataViewSimpleDTO> list(Map<String, Object> params) {
|
String chartCode = (String) params.get("chartCode");
|
QueryWrapper<GasPredConfEntity> queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq(StringUtils.isNotBlank(chartCode), "chart_code", chartCode);
|
queryWrapper.orderByAsc("sort");
|
List<GasPredConfEntity> gasPredConfEntities = gasPredConfDao.selectList(queryWrapper);
|
if (CollectionUtils.isEmpty(gasPredConfEntities)) {
|
return new ArrayList<>();
|
}
|
PreDataBarLineReqVO reqVO = new PreDataBarLineReqVO();
|
reqVO.setOutIds(gasPredConfEntities.stream().map(GasPredConfEntity::getOutId).collect(Collectors.toList()));
|
PreDataBarLineRespVO preDataBarLineRespVO = mcsApi.getPreDataCharts(reqVO);
|
|
List<PreDataViewSimpleDTO> preDataViewSimpleDTOList = new ArrayList<>();
|
Map<String, PreDataViewRespDTO> resultMap = preDataBarLineRespVO.getDataViewList().stream().collect(Collectors.toMap(PreDataViewRespDTO::getOutId, Function.identity(), (e1, e2) -> e1));
|
for (GasPredConfEntity config : gasPredConfEntities) {
|
if (resultMap.containsKey(config.getOutId())) {
|
PreDataViewRespDTO result = resultMap.get(config.getOutId());
|
PreDataViewSimpleDTO preDataViewSimpleDTO = new PreDataViewSimpleDTO();
|
preDataViewSimpleDTO.setItemName(config.getOutName());
|
preDataViewSimpleDTO.setPredictTime(preDataBarLineRespVO.getPredictTime());
|
preDataViewSimpleDTO.setLineType(config.getLineType());
|
|
preDataViewSimpleDTO.setCurData(result.getCurData());
|
preDataViewSimpleDTO.setRealData(result.getRealData());
|
preDataViewSimpleDTO.setPreDataL(result.getPreDataL());
|
preDataViewSimpleDTO.setPreDataN(result.getPreDataN());
|
preDataViewSimpleDTO.setCumulantRealData(result.getCumulantRealData());
|
preDataViewSimpleDTO.setCumulantPreData(result.getCumulantPreData());
|
|
preDataViewSimpleDTOList.add(preDataViewSimpleDTO);
|
}
|
}
|
|
|
return preDataViewSimpleDTOList;
|
}
|
}
|