From 7f0fcee97eb8415fca76c12942cb641ef125a5f3 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期三, 31 七月 2024 17:15:47 +0800 Subject: [PATCH] 通信中间件对报警的取水口间隔发送消息实现 --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java | 3 + pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd81.java | 59 +++++++++++++++++++++++++++++ pipIrr-platform/pom.xml | 18 +++++++++ pipIrr-platform/pipIrr-global/pom.xml | 1 pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/PipIrrMwTestWebApplication.java | 4 + pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java | 9 ++++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml | 4 +- 7 files changed, 93 insertions(+), 5 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/pom.xml b/pipIrr-platform/pipIrr-global/pom.xml index 4624b96..f780609 100644 --- a/pipIrr-platform/pipIrr-global/pom.xml +++ b/pipIrr-platform/pipIrr-global/pom.xml @@ -147,7 +147,6 @@ <artifactId>alibaba-dingtalk-service-sdk</artifactId> <version>2.0.0</version> </dependency> - <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml index 3ba6bb9..7245604 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml @@ -266,8 +266,8 @@ tb.intakeId intakeId, itb.name intakeName FROM pr_controller tb - INNER JOIN pr_intake itb on tb.intakeId=itb.id - WHERE deleted = 0 AND intakeId is not null AND rtuAddr=#{rtuAddr,jdbcType=VARCHAR} + INNER JOIN pr_intake itb on tb.intakeId = itb.id + WHERE tb.deleted = 0 AND tb.intakeId is not null AND tb.rtuAddr=#{rtuAddr,jdbcType=VARCHAR} </select> <!--鏍规嵁鎺у埗鍣ㄧ紪鍙烽�昏緫鍒犻櫎鎺у埗--> diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java index 5263b6e..6e9cbe3 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java @@ -1,7 +1,9 @@ package com.dy.rtuMw.server.rtuData.p206V1_0_0; import com.dy.common.mw.protocol.p206V1_0_0.upVos.*; +import com.dy.common.springUtil.SpringContextUtil; import com.dy.common.util.DateTime; +import com.dy.pipIrrGlobal.config.DingTalk; import com.dy.pipIrrGlobal.pojoRm.RmAlarmStateHistory; import com.dy.rtuMw.server.ServerProperties; import com.dy.rtuMw.server.rtuData.TaskSurpport; @@ -162,8 +164,15 @@ } + /** + * 鍚戦拤閽夊彂閫佹秷鎭� + * @param controller + * @param alarmVo + */ private void sendMessage(PrController controller, DataAlarmVo alarmVo){ String ms = "鍙栨按鍙�" + controller.getIntakeName() + "浜х敓鎶ヨ锛�" + alarmVo.alarmContent() ; + DingTalk dingTalk = SpringContextUtil.getBean(DingTalk.class) ; + dingTalk.sendMessage(ms); } } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java index c71cbd4..3dd8e8b 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java @@ -107,7 +107,8 @@ alarmVo==null?null:alarmVo.stateIcEnable, (byte)0,//鐢垫睜鐢靛帇(1锛氭姤璀︼紝0锛氭甯�) (byte)0,//闃�闂ㄦ姤璀�(1锛氭姤璀︼紝0锛氭甯�) - (byte)0//渚涚數鏂瑰紡锛�0: 220V锛�1锛氳搫鐢垫睜锛� + (byte)0,//渚涚數鏂瑰紡锛�0: 220V锛�1锛氳搫鐢垫睜锛� + System.currentTimeMillis() ) ; sv.saveRmAlarmStateLast(po) ; }else{ diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd81.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd81.java new file mode 100644 index 0000000..e13fe43 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd81.java @@ -0,0 +1,59 @@ +package com.dy.pipIrrMwTestRtu.tcpClient.upData; + +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; +import com.dy.pipIrrMwTestRtu.ServerProperties; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author: liurunyu + * @Date: 2024/7/31 16:29 + * @Description + */ +public class UpCd81 extends UpData { + + private static final Logger log = LogManager.getLogger(UpCd81.class); + + public static void upData() { + try { + if (UpData.session != null && UpData.session.isConnected()) { + byte[] bs = createData(ServerProperties.rtuAddr); + UpData.upSend(bs); + } else { + log.error("鏈繛鎺ラ�氫俊涓棿浠讹紝涓嶈兘鍙戦�佹暟鎹�"); + } + } catch (Exception e) { + log.error("鍚戦�氫俊涓棿浠跺彂閫佹暟鎹骇鐢熷紓甯�", e); + } + } + + + /** + * 鏋勯�犳暟鎹� + * + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + private static byte[] createData(String rtuAddr) throws Exception { + byte[] bytes = creatHead(rtuAddr, "81", (byte)0xB0); + + byte[] bs = new byte[2] ; + bs[0] = (byte)0xDF ;//鎶ヨ + bs[1] = (byte)0xF9 ;//鎶ヨ + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + bs = new byte[2] ; + bs[0] = (byte)0x00 ;//鐘舵�� + bs[1] = (byte)0x00 ;//鐘舵�� + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/PipIrrMwTestWebApplication.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/PipIrrMwTestWebApplication.java index ad39965..aeab9a7 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/PipIrrMwTestWebApplication.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/PipIrrMwTestWebApplication.java @@ -12,7 +12,9 @@ @ComponentScan(basePackages = {"com.dy.common", "com.dy.pipIrrGlobal", "com.dy.pipIrrMwTestWeb"}, excludeFilters = { @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = { - com.dy.common.apiDoc.SpringApiConfig.class //涓�绉嶆帓闄ょ被鐨勬柟寮� + //涓�绉嶆帓闄ょ被鐨勬柟寮� + com.dy.common.apiDoc.SpringApiConfig.class, + com.dy.pipIrrGlobal.config.DingTalk.class }), @ComponentScan.Filter(type = FilterType.REGEX, pattern = { //浜岀鎺掗櫎绫荤殑鏂瑰紡锛屽啓姝e垯琛ㄨ揪寮忥紝闇�瑕佸鐩爣绫荤殑瀹屽叏闄愬畾鍚嶅畬鍏ㄥ尮閰嶏紝鍚﹀垯涓嶇敓鏁� diff --git a/pipIrr-platform/pom.xml b/pipIrr-platform/pom.xml index c195141..62c1229 100644 --- a/pipIrr-platform/pom.xml +++ b/pipIrr-platform/pom.xml @@ -276,6 +276,24 @@ <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.9.7</version> + <type>pom</type> + <scope>import</scope> + </dependency> + + <!--閽夐拤娑堟伅鎺ㄩ��--> + <dependency> + <groupId>com.aliyun</groupId> + <artifactId>alibaba-dingtalk-service-sdk</artifactId> + <version>2.0.0</version> + <type>pom</type> + <scope>import</scope> + </dependency> + <dependency> + <groupId>commons-codec</groupId> + <artifactId>commons-codec</artifactId> + <version>1.15</version> + <type>pom</type> + <scope>import</scope> </dependency> <!-- 娴嬭瘯 --> -- Gitblit v1.8.0