package cn.gistack.nky.service.impl;
|
|
import cn.gistack.nky.entity.HstPredict;
|
import cn.gistack.nky.mapper.HstPredictMapper;
|
import cn.gistack.nky.requestpojo.HstPredictReqPo;
|
import cn.gistack.nky.requestpojo.QueryReqPo;
|
import cn.gistack.nky.resultpojo.DataResChildrenPo;
|
import cn.gistack.nky.service.IHstPredictService;
|
import cn.gistack.nky.service.INkyService;
|
import cn.gistack.nky.service.IZtApiService;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import lombok.AllArgsConstructor;
|
import org.springblade.core.mp.support.Condition;
|
import org.springblade.core.tool.utils.ObjectUtil;
|
import org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@AllArgsConstructor
|
@Service
|
public class HstPredictServiceImpl extends ServiceImpl<HstPredictMapper, HstPredict> implements IHstPredictService {
|
|
private final INkyService nkyService;
|
private final IZtApiService ztApiService;
|
@Override
|
public void getData(String type) {
|
List<DataResChildrenPo> cdList = getCdList(type);
|
|
cdList.forEach(dataResChildrenPo -> {
|
//循环请求预测结果
|
QueryReqPo queryReqPo = new QueryReqPo(dataResChildrenPo,type);
|
//请求预测结果
|
HstPredict hstPredict = nkyService.hstQuery(queryReqPo);
|
if (hstPredict != null){
|
//存储预测结果至数据库
|
save(hstPredict);
|
}
|
});
|
}
|
|
@Override
|
public void predictData(String type) {
|
List<DataResChildrenPo> cdList = getCdList(type);
|
cdList.forEach(dataResChildrenPo -> {
|
HstPredictReqPo arimaPredictReqPo = new HstPredictReqPo(dataResChildrenPo, type);
|
//循环预测请求
|
nkyService.hstPredict(arimaPredictReqPo);
|
});
|
}
|
|
@Override
|
public boolean save(HstPredict entity) {
|
|
if (ObjectUtil.isEmpty(entity.getCreateTime())){
|
return false;
|
}
|
|
HstPredict params = new HstPredict();
|
params.setDamId(entity.getDamId());
|
params.setPointId(entity.getPointId());
|
params.setType(entity.getType());
|
params.setCreateTime(entity.getCreateTime());
|
|
List<HstPredict> list = list(Condition.getQueryWrapper(params));
|
|
if (list.size()>0){
|
return false;
|
}else {
|
return super.save(entity);
|
}
|
}
|
|
public List<DataResChildrenPo> getCdList(String type){
|
List<DataResChildrenPo> cdList = new ArrayList<>();
|
if (type.equals("1")){
|
//获取渗压测点
|
cdList = ztApiService.getSy();
|
}else if (type.equals("2")){
|
//获取渗流测点
|
return null;
|
}else if (type.equals("3") || type.equals("4") || type.equals("5")){
|
//获取位移测点
|
cdList = ztApiService.getWy();
|
}else {
|
return null;
|
}
|
return cdList;
|
}
|
}
|