From 1135c89deb50a080152f9086fc7b741c415ecd54 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 12 二月 2025 17:00:14 +0800
Subject: [PATCH] 通信中间件增加功能: 1、实现消息心中; 2、开阀报、关阀报、报警数据都会在消息中间件存入消息; 3、在消息中心注册消息接收者,消息中心周期性向消息接收者推送消息。
---
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/DriverV2.java | 21 +++++++++++++--------
1 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/DriverV2.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/DriverV2.java
index f1defc1..614e5b6 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/DriverV2.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/DriverV2.java
@@ -1,9 +1,12 @@
package com.dy.common.mw.protocol.p206V2;
import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V1.ProtocolConstantV206V1;
import com.dy.common.util.DateTime;
-@AnnotationDriver(enable = true, name= ProtocolConstantV206V2.protocolName)
+@AnnotationDriver(enable = true,
+ name= ProtocolConstantV206V2.protocolName,
+ version= ProtocolConstantV206V2.protocolVer)
public class DriverV2 extends Driver {
private static String scanRootPackage = "com.dy.common.mw.protocol.p206V2" ;
@@ -58,21 +61,21 @@
boolean isFail = false ;
String upCode = null ;
Short protocolVersion = null ;
+ Object[] codeDataGrp = {null};
try{
CommonV2 cp = new CommonV2() ;
- cp.checkHead(upBuffer) ;
+ Boolean p206TrueUgFalse = cp.protocolType_p206TrueUgFalse(upBuffer) ;
+ //鍒版澶勪簡锛宲206TrueUgFalse涓嶅彲鑳戒负绌轰簡
cp.checkTail(upBuffer) ;
- String crcStr = cp.checkCrc_str(upBuffer) ;
+ String crcStr = cp.checkCrc_str(upBuffer, p206TrueUgFalse) ;
if(crcStr != null){
return new MidResult[]{(new MidResultError(ProtocolConstantV206V2.protocolName, rtuAddr, "涓ラ噸閿欒锛屼笂琛屾暟鎹瓹RC妫�鏌ュけ璐ワ紝" + crcStr, null))} ;
}
- rtuAddr = cp.parseRtuAddr(upBuffer) ;
protocolVersion = cp.parseVersion(upBuffer) ;
- upCode = cp.parseCode(upBuffer) ;
+ upCode = cp.parseCode(upBuffer, p206TrueUgFalse) ;
if(upCode == null){
return new MidResult[]{(new MidResultError(ProtocolConstantV206V2.protocolName, rtuAddr, "涓ラ噸閿欒锛屾湭鑳戒粠涓婅鏁版嵁涓В鏋愬嚭鍔熻兘鐮侊紒", null))} ;
}
- //Integer dataLen = cp.parseFrameLen(upBuffer) ;
Data upData = new Data() ;
upData.setRtuAddr(rtuAddr) ;
upData.setProtocol(ProtocolConstantV206V2.protocolName);
@@ -100,12 +103,14 @@
}else{
return codeParse.parse(isLowPower, this.upCpParams, new CodeParseCallback(){
@Override
- public void callback(Boolean flag) {
+ public void callback(Boolean flag, Object codeData) {
reportOrResponse_trueOrFalse = flag ;
rtuAddrInData = dV2.getRtuAddr() ;
+ codeDataGrp[0] = codeData ;
}
@Override
public void notify(NotifyInfo ...infos) {
+ notify.notify(rtuAddr, ProtocolConstantV206V1.protocolName, ProtocolConstantV206V1.protocolVer, infos);
}
});
}
@@ -114,7 +119,7 @@
isFail = true ;
return new MidResult[]{(new MidResultError(ProtocolConstantV206V2.protocolName, rtuAddr, "涓ラ噸閿欒锛屽垎鏋怰tu鏁版嵁鍑洪敊锛佹暟鎹负锛�" + upHex + (e.getMessage() == null?"":("锛屽嚭閿欎俊鎭細" + e.getMessage())), e))} ;
} finally{
- callback.callback(rtuAddr, upCode, CodeV2.getCodeName(upCode), upHex, reportOrResponse_trueOrFalse, isFail, rtuAddr);
+ callback.callback(rtuAddr, upCode, CodeV2.getCodeName(upCode), upHex, reportOrResponse_trueOrFalse, isFail, rtuAddr, codeDataGrp[0]);
}
}
--
Gitblit v1.8.0