新增云协议相关内容

This commit is contained in:
xy
2025-10-11 09:20:41 +08:00
parent 37ffaa3ad4
commit 0d4db672e1
12 changed files with 237 additions and 29 deletions

View File

@@ -129,11 +129,12 @@ public class AskDeviceDataController extends BaseController {
@ApiImplicitParams({
@ApiImplicitParam(name = "devId", value = "装置id"),
@ApiImplicitParam(name = "lineId", value = "监测点id"),
@ApiImplicitParam(name = "nodeId", value = "前置id")
@ApiImplicitParam(name = "nodeId", value = "前置id"),
@ApiImplicitParam(name = "idx", value = "数据集编号")
})
public HttpResult<String> askCldRealData(@RequestParam("devId") String devId, @RequestParam("lineId") String lineId, @RequestParam("nodeId") String nodeId){
public HttpResult<String> askCldRealData(@RequestParam("devId") String devId, @RequestParam("lineId") String lineId, @RequestParam("nodeId") String nodeId, @RequestParam("idx") Integer idx){
String methodDescribe = getMethodDescribe("askCldRealData");
askDeviceDataService.askCldRealData(devId,lineId,nodeId);
askDeviceDataService.askCldRealData(devId,lineId,nodeId,idx);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}

View File

@@ -22,5 +22,5 @@ public interface AskDeviceDataService {
*/
void askRealData(String nDid, Integer idx, Integer size);
void askCldRealData(String devId, String lineId, String nodeId);
void askCldRealData(String devId, String lineId, String nodeId, Integer idx);
}

View File

@@ -213,7 +213,7 @@ public class AskDeviceDataServiceImpl implements AskDeviceDataService {
}
@Override
public void askCldRealData(String devId, String lineId, String nodeId) {
public void askCldRealData(String devId, String lineId, String nodeId, Integer idx) {
RealDataMessage realDataMessage = new RealDataMessage();
realDataMessage.setDevSeries(devId);
int lastDigit = Character.getNumericValue(lineId.charAt(lineId.length() - 1));
@@ -221,6 +221,7 @@ public class AskDeviceDataServiceImpl implements AskDeviceDataService {
realDataMessage.setRealData(true);
realDataMessage.setSoeData(true);
realDataMessage.setLimit(20);
realDataMessage.setIdx(idx);
realDataMessageTemplate.sendMember(realDataMessage,nodeId);
}

View File

@@ -2,6 +2,7 @@ package com.njcn.access.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.nacos.shaded.com.google.gson.Gson;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.tocrhz.mqtt.publisher.MqttPublisher;
@@ -21,11 +22,13 @@ import com.njcn.access.utils.CRC32Utils;
import com.njcn.access.utils.JsonUtil;
import com.njcn.common.pojo.dto.DeviceLogDTO;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.csdevice.api.CsLogsFeignClient;
import com.njcn.csdevice.api.DevModelFeignClient;
import com.njcn.csdevice.api.*;
import com.njcn.csdevice.enums.AlgorithmResponseEnum;
import com.njcn.csdevice.pojo.param.CsDevModelAddParm;
import com.njcn.csdevice.pojo.po.*;
import com.njcn.csdevice.pojo.po.CsDataArray;
import com.njcn.csdevice.pojo.po.CsDataSet;
import com.njcn.csdevice.pojo.po.CsDevModelPO;
import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO;
import com.njcn.oss.constant.OssPath;
import com.njcn.oss.utils.FileStorageUtil;
import com.njcn.redis.pojo.enums.AppRedisKey;
@@ -46,7 +49,6 @@ import org.springframework.web.multipart.MultipartFile;
import java.sql.Date;
import java.util.*;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
/**
@@ -78,6 +80,9 @@ public class CsDevModelServiceImpl implements ICsDevModelService {
private final MqttPublisher publisher;
private final ICsTopicService csTopicService;
private final RedisUtil redisUtil;
private final EquipmentFeignClient eequipmentFeignClient;
private final DevModelRelationFeignClient devModelRelationFeignClient;
private final CsLineFeignClient csLineFeignClient;
@Override
@Transactional(rollbackFor = {Exception.class})
@@ -115,6 +120,21 @@ public class CsDevModelServiceImpl implements ICsDevModelService {
analysisDataSet(templateDto,csDevModelPo.getId());
//3.录入监测点模板表(记录当前模板有几个监测点治理类型的模板目前规定1个监测点电能质量模板根据逻辑子设备来)
addCsLineModel(templateDto,csDevModelPo.getId());
//4.如果是云前置的模板录入,重新录入完需要将模板关系信息重新录入
if (Objects.equals(devType,DicDataEnum.DEV_CLD.getCode())) {
List<CsEquipmentDeliveryPO> list = eequipmentFeignClient.getAll().getData();
if (CollectionUtil.isNotEmpty(list)) {
List<String> devList = list.stream()
.filter(item -> Objects.equals(item.getDevAccessMethod(),"CLD"))
.map(CsEquipmentDeliveryPO::getId)
.collect(Collectors.toList());
devModelRelationFeignClient.updateDataByList(devList,csDevModelPo.getId());
Object object = redisUtil.getObjectByKey("setId:" + csDevModelPo.getId());
if (ObjectUtil.isNotNull(object)) {
csLineFeignClient.updateDataByList(devList,csDevModelPo.getId(),object.toString());
}
}
}
csLogsFeignClient.addUserLog(logDto);
} catch (Exception e) {
logDto.setResult(0);
@@ -943,6 +963,11 @@ public class CsDevModelServiceImpl implements ICsDevModelService {
}
if(CollectionUtil.isNotEmpty(setList)) {
csDataSetService.addList(setList);
setList.forEach(item->{
if (Objects.equals(item.getName(),"统计数据")) {
redisUtil.saveByKeyWithExpire("setId:" + pId,item.getId(),30L);
}
});
}
if(CollectionUtil.isNotEmpty(arrayList)) {
csDataArrayService.addList(arrayList);