From f8b2e59a82702a790c383a8ecd90c708c76e2488 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期四, 05 六月 2025 17:51:59 +0800 Subject: [PATCH] 增量开发MQTT协议、功能模块,上下行命令(消息)等 --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/CommandResultDeal.java | 62 +++++++++++++++++++++++++++---- 1 files changed, 54 insertions(+), 8 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/CommandResultDeal.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/CommandResultDeal.java index 116bdf5..658e68e 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/CommandResultDeal.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/CommandResultDeal.java @@ -1,25 +1,31 @@ package com.dy.rtuMw.web.comResult; +import com.dy.common.contant.Constant; +import com.dy.common.mw.protocol.Command; import com.dy.common.mw.protocol.Data; -import lombok.extern.slf4j.Slf4j; +import com.dy.common.mw.protocol4Mqtt.MqttSubMsg; +import com.dy.rtuMw.server.ServerProperties; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpMethod; -import org.springframework.http.ResponseEntity; +import org.springframework.http.*; +import org.springframework.http.converter.StringHttpMessageConverter; import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; import org.springframework.web.util.UriComponentsBuilder; + +import java.nio.charset.StandardCharsets; /** * @Author liurunyu * @Date 2023/12/21 20:28 * @LastEditTime 2023/12/21 20:28 - * @Description + * @Description 閫氫俊涓棿浠跺澶栬繘琛寃eb璋冪敤锛屾妸鍛戒护缁撴灉鍙戦�佸嚭鍘� */ -@Slf4j @Component() public class CommandResultDeal { + + private static final Logger log = LogManager.getLogger(CommandResultDeal.class.getName()); private RestTemplate restTemplate; @@ -28,18 +34,58 @@ this.restTemplate = restTemplate ; } + /** + * RTU璁惧鏁版嵁 + * @param data + */ public void deal(Data data) { - if (data.rtuResultSendWebUrl != null && !data.rtuResultSendWebUrl.trim().equals("")) { + if (data.rtuResultSendWebUrl != null + && !data.rtuResultSendWebUrl.trim().equals("") + && !data.rtuResultSendWebUrl.trim().equals(Command.ignoreRtuResultSendWebUrl)) { String url = UriComponentsBuilder.fromUriString(data.rtuResultSendWebUrl) .build() .toUriString(); + restTemplate.getMessageConverters().set(1,new StringHttpMessageConverter(StandardCharsets.UTF_8)); HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.parseMediaType("application/json;charset=UTF-8")); + headers.set(Constant.UserTokenKeyInHeader, ServerProperties.orgTag); HttpEntity<?> httpEntity = new HttpEntity<>(data, headers); ResponseEntity<WebResponseVo> response = null; try { // 閫氳繃Post鏂瑰紡璋冪敤鎺ュ彛 response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, WebResponseVo.class); } catch (Exception e) { + log.error("鍛戒护缁撴灉鍥炶皟鍙戠敓寮傚父", e); + e.printStackTrace(); + } + //assert response != null; + } else { + log.error("涓ラ噸閿欒锛屽湪com.dy.aceMw.web.comResult.CommandResultDeal閲岋紝澶勭悊鐨勬槸RTU鍛戒护缁撴灉Node锛屼絾鏁版嵁涓璻tuResultSendWebUrl涓虹┖"); + } + } + + /** + * Mqtt娑堟伅鏁版嵁 + * @param subMsg + */ + public void deal(MqttSubMsg subMsg) { + if (subMsg.mqttResultSendWebUrl != null + && !subMsg.mqttResultSendWebUrl.trim().equals("") + && !subMsg.mqttResultSendWebUrl.trim().equals(Command.ignoreRtuResultSendWebUrl)) { + String url = UriComponentsBuilder.fromUriString(subMsg.mqttResultSendWebUrl) + .build() + .toUriString(); + restTemplate.getMessageConverters().set(1,new StringHttpMessageConverter(StandardCharsets.UTF_8)); + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.parseMediaType("application/json;charset=UTF-8")); + headers.set(Constant.UserTokenKeyInHeader, ServerProperties.orgTag); + HttpEntity<?> httpEntity = new HttpEntity<>(subMsg, headers); + ResponseEntity<WebResponseVo> response = null; + try { + // 閫氳繃Post鏂瑰紡璋冪敤鎺ュ彛 + response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, WebResponseVo.class); + } catch (Exception e) { + log.error("鍛戒护缁撴灉鍥炶皟鍙戠敓寮傚父", e); e.printStackTrace(); } //assert response != null; -- Gitblit v1.8.0