From d8eb22351c6d0bfe0c9f233edfd593538e6838c9 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期四, 24 四月 2025 13:58:49 +0800 Subject: [PATCH] 1、表阀一体机协议开阀类型变化; 2、表阀一体机协议开关阀报中增加水价数据; --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu3rd/src/main/java/com/dy/rtuMw3rd/tcp4Bjnl/TcpClUnit.java | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 102 insertions(+), 0 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu3rd/src/main/java/com/dy/rtuMw3rd/tcp4Bjnl/TcpClUnit.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu3rd/src/main/java/com/dy/rtuMw3rd/tcp4Bjnl/TcpClUnit.java new file mode 100644 index 0000000..3bb4bab --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu3rd/src/main/java/com/dy/rtuMw3rd/tcp4Bjnl/TcpClUnit.java @@ -0,0 +1,102 @@ +package com.dy.rtuMw3rd.tcp4Bjnl; + +import com.dy.common.mw.UnitAdapterInterface; +import com.dy.common.mw.UnitCallbackInterface; +import com.dy.common.mw.UnitInterface; +import com.dy.common.util.Callback; +import com.dy.rtuMw3rd.tcp4Bjnl.protocol.BjnlProtocol; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author: liurunyu + * @Date: 2025/03/18 14:20 + * @Description + */ +public class TcpClUnit implements UnitInterface { + + private static final Logger log = LogManager.getLogger(TcpClUnit.class) ; + + private static TcpClUnit instance = new TcpClUnit() ; + + public static TcpClUnitAdapter adapter ; + public static TcpClUnitConfigVo confVo ; + + private TcpClUnit(){} ; + + public static TcpClUnit getInstance(){ + return instance ; + } + + @Override + public void setAdapter(UnitAdapterInterface adapter) throws Exception { + if(adapter == null){ + throw new Exception("Tcp Client妯″潡閫傞厤鍣ㄥ璞′笉鑳戒负绌猴紒") ; + } + TcpClUnit.adapter = (TcpClUnitAdapter)adapter ; + TcpClUnit.confVo = TcpClUnit.adapter.getConfig() ; + if(TcpClUnit.confVo == null){ + throw new Exception("Tcp Client妯″潡閰嶇疆瀵硅薄涓嶈兘涓虹┖锛�") ; + } + } + + @Override + public void start(UnitCallbackInterface callback) throws Exception { + System.out.println("Tcp Client妯″潡鎴愬姛鍚姩"); + this.doStart(); + callback.call(null) ; + } + + @Override + public void stop(UnitCallbackInterface callback) throws Exception { + callback.call(null); + } + + private void doStart(){ + new Thread(() -> { + Exception ex ; + while(true){ + ex = null ; + try { + new TcpConnect().createSession( + confVo.BjnlServerIp, + confVo.BjnlServerPort, + confVo.BjnlConnectTimeout, + new TcpHandler(), + new Callback() { + @Override + public void call(Object obj) { + if (obj == null) { + log.error("鍖椾含鍐滄灄--鍒涘缓缃戠粶浼氳瘽杩斿洖涓簄ull"); + } else { + log.info("鍖椾含鍐滄灄--鎴愬姛鍒涘缓缃戠粶杩炴帴"); + Worker w = Worker.getInstance() ; + w.setApikey(confVo.BjnlApikey); + w.setSecretkey(confVo.BjnlSecretkey ); + w.setWorkInterval(confVo.heartBeatInterval + 0L); + w.start(); + } + } + @Override + public void call(Object... objs) { + } + @Override + public void exception(Exception e) { + } + }); + }catch (Exception e){ + ex = e ; + } + if(ex == null){ + break ; + }else{ + try{ + Thread.sleep(100); + }catch (Exception e){ + } + } + } + }).start(); + } + +} -- Gitblit v1.8.0