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