From 656aa4f953eb52502a6414965e46642c31b6e8ee Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期二, 29 四月 2025 15:33:09 +0800
Subject: [PATCH] 设备会在多种功能码上报数据中携带报警与状态数据,这样数据库保存设备报警与状态数据可能很多,为此修改逻辑,当前实现为一设备一个小时内只保存一条报警与状态数据。

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/DataCodecFactory.java |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/DataCodecFactory.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/DataCodecFactory.java
index 417bda2..284dcb6 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/DataCodecFactory.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/DataCodecFactory.java
@@ -8,16 +8,32 @@
 public class DataCodecFactory implements ProtocolCodecFactory {
 
 	private TcpUnitAdapter adapter ;
-	
+    private boolean stop = false ;//涓簍rue鏃讹紝鍋滄TCP鏈嶅姟锛屽苟鎶婂凡缁廡CP杩炴帴鏂繛鎺�
+
     public DataCodecFactory(TcpUnitAdapter adapter) {
     	this.adapter = adapter ;
     }
 
+    public void stop(){
+        stop = true ;
+    }
+
+    public void recover(){
+        this.stop = false ;
+    }
+
+
     public ProtocolEncoder getEncoder(IoSession ioSession) {
+        if(stop){
+            ioSession.closeNow() ;
+        }
         return new DataEncoder();
     }
 
     public ProtocolDecoder getDecoder(IoSession ioSession) {
+        if(stop){
+            ioSession.closeNow() ;
+        }
         return new DataDecoder(adapter.newPrefixedDataAvailableHandle());
     }
 }

--
Gitblit v1.8.0