From 976d4bbfd153241ff7f679dfa56ded55968b93d7 Mon Sep 17 00:00:00 2001 From: hzj <826100833@qq.com> Date: Thu, 15 May 2025 11:31:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=89=8D=E7=BD=AE=E8=81=94=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DataRecallController.java | 43 +++++++++++++++---- .../njcn/message/message/RecallMessage.java | 3 +- .../message/consumer/TopicReplyConsumer.java | 2 +- 3 files changed, 37 insertions(+), 11 deletions(-) diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataRecallController.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataRecallController.java index 559197d..4934635 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataRecallController.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataRecallController.java @@ -2,6 +2,7 @@ package com.njcn.dataProcess.controller;//package com.njcn.message.websocket; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.LocalDateTimeUtil; +import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSONObject; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.enums.common.LogEnum; @@ -14,6 +15,8 @@ import com.njcn.dataProcess.api.DataVFeignClient; import com.njcn.dataProcess.service.IDataV; import com.njcn.device.biz.commApi.CommTerminalGeneralClient; import com.njcn.device.biz.pojo.dto.LineDevGetDTO; +import com.njcn.device.pq.api.DeviceFeignClient; +import com.njcn.device.pq.pojo.dto.DeviceDTO; import com.njcn.message.api.ProduceFeignClient; import com.njcn.message.message.RecallMessage; import com.njcn.middle.rocket.domain.BaseMessage; @@ -34,6 +37,7 @@ import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -52,6 +56,7 @@ public class DataRecallController extends BaseController { private IDataV dataVQuery; private final CommTerminalGeneralClient commTerminalGeneralClient; private final ProduceFeignClient produceFeignClient; + private final DeviceFeignClient deviceFeignClient; @@ -62,10 +67,9 @@ public class DataRecallController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @ApiOperation("数据补招") @ApiImplicitParam(name = "param", value = "参数", required = true) - public HttpResult recall(@RequestBody RecallMessage param) { + public HttpResult> recall(@RequestBody RecallMessage param) { String methodDescribe = getMethodDescribe("recall"); - RecallMessage message = new RecallMessage(); - + List guidList = new ArrayList<>(); if(CollectionUtils.isEmpty(param.getData())){ List runMonitorIds = new ArrayList<>(); @@ -81,6 +85,9 @@ public class DataRecallController extends BaseController { LocalDate finalCurrentDate = currentDate; runMonitorIds.forEach(temp->{ LineDevGetDTO data = commTerminalGeneralClient.getMonitorDetail(temp).getData(); + //后续根据不同前置下的测点发送补招密令 + DeviceDTO data2 = deviceFeignClient.getDeviceInfo(data.getDevId()).getData(); + Integer timeInterval = data.getTimeInterval(); List localDateTimeList = generateTimeIntervals(finalCurrentDate, timeInterval); List data1 = dataVQuery.monitoringTime(temp, LocalDateTimeUtil.format(finalCurrentDate, DatePattern.NORM_DATE_PATTERN)); @@ -91,7 +98,7 @@ public class DataRecallController extends BaseController { recallDTO.setDataType("0"); recallDTO.setMonitorId(Stream.of(temp).collect(Collectors.toList())); recallDTO.setTimeInterval(timePeriod); - + recallDTO.setNodeId(data2.getNodeId()); recallDTOList.add(recallDTO); } }); @@ -100,18 +107,36 @@ public class DataRecallController extends BaseController { if(!CollectionUtils.isEmpty(recallDTOList)){ + Map> collect = recallDTOList.stream().collect(Collectors.groupingBy(RecallMessage.RecallDTO::getNodeId)); + + collect.forEach((k,v)->{ + RecallMessage message = new RecallMessage(); + message.setNodeId(k); + message.setData(v); + String guid = IdUtil.simpleUUID(); + message.setGuid(guid); + produceFeignClient.recall(message); + guidList.add(guid); + }); - message.setData(recallDTOList); - produceFeignClient.recall(message); } }else { - message.setData(param.getData()); - produceFeignClient.recall(message); + Map> collect = param.getData().stream().collect(Collectors.groupingBy(RecallMessage.RecallDTO::getNodeId)); + + collect.forEach((k,v)->{ + RecallMessage message = new RecallMessage(); + message.setNodeId(k); + message.setData(v); + String guid = IdUtil.simpleUUID(); + message.setGuid(guid); + produceFeignClient.recall(message); + guidList.add(guid); + }); } - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, guidList, methodDescribe); } diff --git a/message/message-api/src/main/java/com/njcn/message/message/RecallMessage.java b/message/message-api/src/main/java/com/njcn/message/message/RecallMessage.java index f518370..4aa0b31 100644 --- a/message/message-api/src/main/java/com/njcn/message/message/RecallMessage.java +++ b/message/message-api/src/main/java/com/njcn/message/message/RecallMessage.java @@ -24,7 +24,7 @@ public class RecallMessage { private String nodeId; private List monitorId; - + private String guid; private List data; @Data public static class RecallDTO { @@ -41,6 +41,7 @@ public class RecallMessage { */ @ApiModelProperty("0/1(稳态/暂态)") private String dataType; + private String nodeId; private List monitorId; private List timeInterval; diff --git a/message/message-boot/src/main/java/com/njcn/message/consumer/TopicReplyConsumer.java b/message/message-boot/src/main/java/com/njcn/message/consumer/TopicReplyConsumer.java index 3303e6c..9acc3e8 100644 --- a/message/message-boot/src/main/java/com/njcn/message/consumer/TopicReplyConsumer.java +++ b/message/message-boot/src/main/java/com/njcn/message/consumer/TopicReplyConsumer.java @@ -83,7 +83,7 @@ public class TopicReplyConsumer extends EnhanceConsumerMessageHandler