新增云前置相关功能

This commit is contained in:
xy
2025-09-16 18:30:53 +08:00
parent 8c442d8897
commit 43b8473976
21 changed files with 287 additions and 25 deletions

View File

@@ -94,7 +94,7 @@ public class DataServiceImpl implements IDataService {
public List<RealTimeDataVo> getRealTimeData(DataParam param) {
List<RealTimeDataVo> result = new ArrayList<>();
//获取监测点使用的数据集
List<CsLinePO> finalCsLinePOList = csLineFeignClient.queryLineById(Arrays.asList(param.getLineId())).getData();
List<CsLinePO> finalCsLinePOList = csLineFeignClient.queryLineById(Collections.singletonList(param.getLineId())).getData();
CsDataSet csDataSet = csDataSetMapper.selectOne(new LambdaQueryWrapper<CsDataSet>().eq(CsDataSet::getId,finalCsLinePOList.get(0).getDataSetId()));
Double ct = finalCsLinePOList.get(0).getCtRatio();
Double pt = finalCsLinePOList.get(0).getPtRatio();

View File

@@ -121,7 +121,7 @@ public class RealDataServiceImpl implements RealDataService {
throw new BusinessException("装置离线,无法获取实时数据");
}
// 请求设备数据
askDeviceDataFeignClient.askCldRealData(csEquipmentDeliveryVO.getId(), lineId);
askDeviceDataFeignClient.askCldRealData(csEquipmentDeliveryVO.getId(),lineId,csEquipmentDeliveryVO.getNodeId());
// 更新Redis中的用户集合 - 使用工具方法消除重复代码
updateRedisUserSet("rtDataUserId:" + lineId, RequestUtil.getUserIndex(), 600L);
updateRedisUserSet("cldRtDataOverTime:" + lineId, RequestUtil.getUserIndex(), 5L);

View File

@@ -8,6 +8,7 @@ import com.njcn.csdevice.enums.AlgorithmResponseEnum;
import com.njcn.csdevice.pojo.dto.CsEquipmentDeliveryDTO;
import com.njcn.csdevice.pojo.po.CsLinePO;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.api.DictTreeFeignClient;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.pojo.po.DictData;
import lombok.RequiredArgsConstructor;
@@ -27,6 +28,7 @@ public class InfluxDbParamUtil {
private final DicDataFeignClient dicDataFeignClient;
private final EquipmentFeignClient equipmentFeignClient;
private final DictTreeFeignClient dictTreeFeignClient;
/*表名换成了id本方法做转换*/
public String getTableNameByClassId(String classId){
@@ -50,6 +52,11 @@ public class InfluxDbParamUtil {
if(DataParam.portableDevType.equals(csEquipmentDeliveryDTOList.get(0).getDevType())){
return finalCsLinePOList.get(0).getClDid()+"";
}
//如果是云前置设备,直接返回clDid
boolean isCLdDevice = DicDataEnum.DEV_CLD.getCode().equals(dictTreeFeignClient.queryById(csEquipmentDeliveryDTOList.get(0).getDevType()).getData().getCode());
if(isCLdDevice){
return String.valueOf(finalCsLinePOList.get(0).getLineNo());
}
//之后的逻辑还是按照原来的不变
String position = csLineFeignClient.getPositionById(lineId).getData();
if (Objects.isNull(position)){

View File

@@ -1,5 +1,6 @@
//package com.njcn;
//
//import com.njcn.influx.utils.InfluxDbUtils;
//import com.njcn.influxdb.param.InfluxDBPublicParam;
//import com.njcn.influxdb.utils.InfluxDbUtils;
//import lombok.AllArgsConstructor;