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