From 7bdf147a26675542054563a5727977c54cfda9ef Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 13 二月 2025 14:19:53 +0800
Subject: [PATCH] 实现功能:远程模块remote接收通信中间件消息,补全取水口名称(编号)后,通过websocket向前端推送。
---
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/PipIrrMwRtuApplication.java | 2 -
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/msCenter/TestMsResource.java | 33 +++++++++++++---
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java | 2
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/msCenter/CenterMsReceiveSv.java | 25 ++++++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/msCenter/CenterMsReceiveCtrl.java | 34 ++++++++++++----
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java | 7 +++
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml | 7 +++
7 files changed, 91 insertions(+), 19 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java
index 9a94c28..1a44d5e 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java
@@ -96,6 +96,13 @@
/**
* 鏍规嵁鏉慖d鑾峰彇鍏ㄩ儴鍦板潃
+ * @param intakeId 鏉慖d
+ * @return intakeName 鍙栨按鍙g紪鍙�
+ */
+ String getNameById(@Param("intakeId") Long intakeId);
+
+ /**
+ * 鏍规嵁鏉慖d鑾峰彇鍏ㄩ儴鍦板潃
* @param villageId 鏉慖d
* @return address 鍏ㄩ儴浜旂骇鍦板潃
*/
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java
index 8029774..d56a6d3 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java
@@ -173,7 +173,7 @@
new HttpEntity<>(new HttpHeaders()),
BaseResponse.class);
} catch (Exception e) {
- e.printStackTrace();
+ //e.printStackTrace();
return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父");
}
if(response == null){
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
index eb8e6de..09fb846 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
@@ -405,6 +405,13 @@
</select>
<!--鏍规嵁鏉慖D鑾峰彇鍏ㄩ儴鍦板潃-->
+ <select id="getNameById" resultType="java.lang.String">
+ select name
+ from pr_intake
+ where id = #{intakeId, jdbcType=BIGINT}
+ </select>
+
+ <!--鏍规嵁鏉慖D鑾峰彇鍏ㄩ儴鍦板潃-->
<select id="getAddressByVillageId" parameterType="_long" resultType="java.lang.String">
select CONCAT(dis_province.`name`, dis_city.`name`, dis_county.`name`, dis_town.`name`,
dis_village.`name`) AS address
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/PipIrrMwRtuApplication.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/PipIrrMwRtuApplication.java
index 8af9b06..7e89fd0 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/PipIrrMwRtuApplication.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/PipIrrMwRtuApplication.java
@@ -8,9 +8,7 @@
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.context.annotation.FilterType;
-import org.springframework.scheduling.annotation.EnableScheduling;
-@EnableScheduling
@SpringBootApplication
@EnableAspectJAutoProxy
@ComponentScan(basePackages = {"com.dy.common", "com.dy.pipIrrGlobal", "com.dy.rtuMw"},
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/msCenter/TestMsResource.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/msCenter/TestMsResource.java
index 79430cb..7480f18 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/msCenter/TestMsResource.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/msCenter/TestMsResource.java
@@ -1,5 +1,6 @@
package com.dy.rtuMw.server.msCenter;
+import com.dy.common.util.DateTime;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@@ -9,16 +10,34 @@
* @Description
*/
//浣胯捣浣滅敤锛屾湰绫绘敞瑙Component锛屽苟鍦≒ipIrrMwRtuApplication娉ㄨВ@EnableScheduling
-@Component
+//@Component
public class TestMsResource {
// 璁剧疆瀹氭椂鍗佺涓�娆�
- @Scheduled(cron = "0/1 * * * * ?")
- public void WsHeartBeat() throws Exception {
- MsObj obj = new MsObj() ;
- obj.put("id", System.currentTimeMillis());
- obj.put("ms", "娑堟伅" + System.currentTimeMillis());
- MsCenterUnit.getInstance().pushMs(obj);
+ @Scheduled(cron = "0/5 * * * * ?")
+ public void test1() throws Exception {
+ MsObj msObj = new MsObj() ;
+ msObj.put("name", "寮�闃�");
+ msObj.put("clientId", 1233445345);
+ msObj.put("clientName", "寮犱笁");
+ msObj.put("clientAddress", "鍖椾含甯�");
+ msObj.put("icCardNo", "123456789");
+ msObj.put("rtuAddr", "123456789");
+ msObj.put("intakeId", 987654321);
+ msObj.put("dt", DateTime.yyyy_MM_dd_HH_mm_ss());
+ MsCenterUnit.getInstance().pushMs(msObj);
+ }
+
+ // 璁剧疆瀹氭椂鍗佺涓�娆�
+ @Scheduled(cron = "0/6 * * * * ?")
+ public void test2() throws Exception {
+ MsObj msObj = new MsObj() ;
+ msObj.put("name", "鎶ヨ");
+ msObj.put("rtuAddr","123456789");
+ msObj.put("intakeId", 1233445345);
+ msObj.put("alarm", "姘磋〃瓒呴噺绋�");
+ msObj.put("dt", DateTime.yyyy_MM_dd_HH_mm_ss());
+ MsCenterUnit.getInstance().pushMs(msObj);
}
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/msCenter/CenterMsReceiveCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/msCenter/CenterMsReceiveCtrl.java
index f4705ec..839d8f0 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/msCenter/CenterMsReceiveCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/msCenter/CenterMsReceiveCtrl.java
@@ -3,19 +3,20 @@
import com.alibaba.fastjson2.JSONObject;
import com.dy.common.contant.Constant;
import com.dy.common.multiDataSource.DataSourceContext;
+import com.dy.common.util.NumUtil;
import com.dy.common.webUtil.BaseResponse;
+import com.dy.pipIrrRemote.largeScreen.WebSocketServer;
import io.swagger.v3.oas.annotations.Hidden;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-
-import java.util.Iterator;
import java.util.List;
/**
@@ -29,6 +30,9 @@
@RestController
@RequestMapping(path="msCenter")
public class CenterMsReceiveCtrl{
+
+ @Autowired
+ private CenterMsReceiveSv sv ;
/**
* 閫氫俊涓棿娑堟伅涓績鎺ㄩ�佹秷鎭帴鏀�
@@ -45,14 +49,26 @@
if(list != null && list.size() > 0){
for (JSONObject jo : list) {
if(jo != null){
- log.info("----------------start " + token + " 娑堟伅鏁版嵁--------------") ;
- Iterator<String> it = jo.keySet().iterator() ;
- String key ;
- while (it.hasNext()){
- key = it.next() ;
- log.info(key + "锛�" + jo.get(key));
+ if(jo.containsKey("intakeId")){
+ Object intakeIdObj = jo.get("intakeId") ;
+ Long intakeId = null ;
+ if(intakeIdObj != null && intakeIdObj instanceof Long){
+ intakeId = (Long) intakeIdObj ;
+ }else if(intakeIdObj != null && intakeIdObj instanceof String){
+ if(NumUtil.isPlusIntNumber(intakeIdObj.toString())){
+ intakeId = Long.parseLong(intakeIdObj.toString()) ;
+ }
+ }
+ if(intakeId != null){
+ String intakeNum = this.sv.selectIntakeName(intakeId) ;
+ jo.put("intakeNum", intakeNum) ;
+ }
}
- log.info("----------------end " + token + " 娑堟伅鏁版嵁--------------") ;
+ try {
+ WebSocketServer.sendAllMessage(jo.toJSONString());
+ }catch (Exception e){
+ log.error("鎺ㄩ�佹秷鎭け璐�", e) ;
+ }
}
}
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/msCenter/CenterMsReceiveSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/msCenter/CenterMsReceiveSv.java
new file mode 100644
index 0000000..7c07fef
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/msCenter/CenterMsReceiveSv.java
@@ -0,0 +1,25 @@
+package com.dy.pipIrrRemote.msCenter;
+
+import com.dy.pipIrrGlobal.daoPr.PrIntakeMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/2/13 14:08
+ * @Description
+ */
+
+@Slf4j
+@Service
+public class CenterMsReceiveSv {
+
+ @Autowired
+ private PrIntakeMapper intakeDao ;
+
+ public String selectIntakeName(Long id){
+ return this.intakeDao.getNameById(id) ;
+ }
+
+}
--
Gitblit v1.8.0