前置联调

This commit is contained in:
hzj
2025-05-15 11:31:24 +08:00
parent 4522313aea
commit 976d4bbfd1
3 changed files with 37 additions and 11 deletions

View File

@@ -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<Boolean> recall(@RequestBody RecallMessage param) {
public HttpResult<List<String>> recall(@RequestBody RecallMessage param) {
String methodDescribe = getMethodDescribe("recall");
RecallMessage message = new RecallMessage();
List<String> guidList = new ArrayList<>();
if(CollectionUtils.isEmpty(param.getData())){
List<String> 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<LocalDateTime> localDateTimeList = generateTimeIntervals(finalCurrentDate, timeInterval);
List<LocalDateTime> 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<String, List<RecallMessage.RecallDTO>> 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<String, List<RecallMessage.RecallDTO>> 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);
}

View File

@@ -24,7 +24,7 @@ public class RecallMessage {
private String nodeId;
private List<String> monitorId;
private String guid;
private List<RecallDTO> data;
@Data
public static class RecallDTO {
@@ -41,6 +41,7 @@ public class RecallMessage {
*/
@ApiModelProperty("0/1稳态/暂态)")
private String dataType;
private String nodeId;
private List<String> monitorId;
private List<String> timeInterval;

View File

@@ -83,7 +83,7 @@ public class TopicReplyConsumer extends EnhanceConsumerMessageHandler<TopicReply
@Override
protected void handleMessage(TopicReplyDTO message) {
//业务处理
redisUtil.saveByKeyWithExpire(RedisKeyPrefix.TOPIC_REPLY.concat(message.getGuid()),message.getResult(),60*60L);
redisUtil.saveByKeyWithExpire(RedisKeyPrefix.TOPIC_REPLY.concat(message.getGuid()),JSONObject.toJSONString(message),60*60L);
}