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