From facc0ea3fa37091a98aa1e0a0d1081fd32fba28e Mon Sep 17 00:00:00 2001
From: vince <757871790@qq.com>
Date: 星期六, 27 一月 2024 11:38:29 +0800
Subject: [PATCH] 优化协议
---
src/main/java/com/fzzy/protocol/bhzn/analysis/AnalysisService.java | 71 +++++++++++++----------------------
1 files changed, 26 insertions(+), 45 deletions(-)
diff --git a/src/main/java/com/fzzy/protocol/bhzn/analysis/AnalysisService.java b/src/main/java/com/fzzy/protocol/bhzn/analysis/AnalysisService.java
index ffc5f7b..2010ea8 100644
--- a/src/main/java/com/fzzy/protocol/bhzn/analysis/AnalysisService.java
+++ b/src/main/java/com/fzzy/protocol/bhzn/analysis/AnalysisService.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSONObject;
import com.fzzy.api.Constant;
import com.fzzy.api.data.ApiCommonDevice;
+import com.fzzy.api.data.DepotType;
import com.fzzy.api.data.GatewayDeviceType;
import com.fzzy.api.utils.BytesUtil;
import com.fzzy.api.utils.NumberUtil;
@@ -21,7 +22,7 @@
import com.fzzy.protocol.bhzn.cmd.CommandBuild;
import com.fzzy.protocol.bhzn.cmd.ReMessageBuilder;
import com.fzzy.protocol.bhzn.data.IoMessage;
-import com.fzzy.protocol.data.GrainCableData;
+import com.fzzy.gateway.data.GrainCableData;
import com.fzzy.protocol.data.THDto;
import com.fzzy.protocol.bhzn.server.BhznGrainV2ServerEngine;
import com.fzzy.protocol.bhzn.server.BhznGrainV2ServerUtils;
@@ -132,7 +133,7 @@
}
// 鍒ゆ柇鏁版嵁鏈夋病鏈夋敹鍙栧畬鏁�
- GrainCableData cableData = this.getCableData(gatewayDevice);
+ GrainCableData cableData = GatewayUtils.getCableData(gatewayDevice);
int sumPoint = cableData.getSumNum();
//鑾峰彇褰撳墠绮儏娓╁害鎶ユ枃
@@ -181,39 +182,6 @@
}
}
- private GrainCableData getCableData(GatewayDevice gatewayDevice) {
- String cableRule = gatewayDevice.getCableRule();
- String cableCir = gatewayDevice.getCableCir();
-
- GrainCableData result = new GrainCableData();
-
- int cableY, cableX;
- String[] attCable = cableRule.split("-");
- int cableZ = Integer.valueOf(attCable[0]);
- if (StringUtils.isEmpty(cableCir)) {
- cableY = Integer.valueOf(attCable[1]);
- cableX = Integer.valueOf(attCable[2]);
- } else {
- String[] attCir = cableCir.split("-");
- cableZ = Integer.valueOf(attCir[0]);
- cableY = 1;
- cableX = 0;
- //閽堝澶氬湀璁$畻
- for (int i = 0; i < cableCir.length(); i++) {
- cableX += Integer.valueOf(attCir[i]);
- }
-
- result.setCir(true);
- }
-
- result.setCableY(cableY);
- result.setCableZ(cableZ);
- result.setCableX(cableX);
- result.setSumNum(cableZ * cableY * cableX);
-
- return result;
- }
-
/**
* 杩斿洖绮儏鏀跺埌鎶ユ枃淇℃伅锛岄渶瑕佹敞鎰忥細濡傛灉瀛樺湪鍒嗗寘鎯呭喌涓嬶紝闇�瑕佺瓑鎵�鏈夊寘鏀跺埌鍚庤繑鍥�
*
@@ -230,9 +198,6 @@
private void analysisGrain2(IoMessage message, BaseReqData reqData, String grainStr, GrainCableData cableData) {
GatewayDevice device = reqData.getDevice();
// 鑾峰彇瀹屾暣鐨勭伯鎯呭寘淇℃伅
- int cableZ = cableData.getCableZ();
- int cableY = cableData.getCableY();
- int cableX = cableData.getCableX();
int sumNum = cableData.getSumNum();
// 鏍规嵁灞傝鍒楄幏鍙栨寚瀹氶暱搴�
@@ -273,9 +238,13 @@
String key = "GRAIN_" + message.getAddr();
contextMapGrain.put(key, null);
- if (cableData.isCir()) {
+
+ if (DepotType.TYPE_02.getCode().equals(device.getDepotType()) || DepotType.TYPE_04.getCode().equals(device.getDepotType())) {
//绛掍粨
analysisAndPush2(temps, reqData, thDto, cableData);
+ } else if (DepotType.TYPE_03.getCode().equals(device.getDepotType())) {
+ //鍌ㄦ补缃�
+ analysisAndPush3(temps, reqData, thDto, cableData);
} else {
//骞虫埧浠�
analysisAndPush1(temps, reqData, thDto, cableData);
@@ -283,18 +252,30 @@
}
/**
- * 绛掍粨瑙f瀽锛岃В鏋愮浜屾锛岃В鏋愬埌鍧愭爣鏁版嵁
+ * 绛掍粨鎺ㄩ��
+ *
+ * @param temps
+ * @param reqData
+ * @param thDto
+ * @param cableData
+ */
+ private void analysisAndPush2(List<Double> temps, BaseReqData reqData, THDto thDto, GrainCableData cableData) {
+ //TODO
+ log.info("---------------------------绛掍粨鏆傛棤瀹炵幇---------------------------");
+ }
+
+ /**
+ * 鍌ㄦ补缃�
*
* @param temps
* @throws Exception
*/
- private void analysisAndPush2(List<Double> temps, BaseReqData reqData, THDto thDto, GrainCableData cableData) {
+ private void analysisAndPush3(List<Double> temps, BaseReqData reqData, THDto thDto, GrainCableData cableData) {
GatewayDevice device = reqData.getDevice();
int cableZ = cableData.getCableZ();
int cableY = cableData.getCableY();
- int cableX = cableData.getCableX();
int sumNum = temps.size();
@@ -369,17 +350,17 @@
JSONObject properties = new JSONObject();
- properties.put("data", JSONObject.toJSONString(outPut));
+ properties.put("data", outPut);
properties.put("timestamp", grain.getTimestamp());
String height = this.getCacheHeight(device);
if (StringUtils.isEmpty(height)) height = "0.0";
properties.put("liquidHeight", height);
- grain.setProperties(properties.toJSONString());
+ grain.setProperties(properties);
//灏佽濂界殑鏁版嵁
- log.info("---娴呭渾浠撳皝瑁呭畬鎴�----寮�濮嬫墽琛屾帹閫�");
+ log.info("---娌圭綈浠撲俊鎭皝瑁呭畬鎴�----寮�濮嬫墽琛屾帹閫�");
reqData.setData(JSONObject.toJSONString(grain));
--
Gitblit v1.9.3