From b1c572949997a5d82d9b609163ff280a1c49627d Mon Sep 17 00:00:00 2001
From: vince <757871790@qq.com>
Date: 星期五, 26 四月 2024 14:09:45 +0800
Subject: [PATCH] 粮情协议优化
---
src/main/java/com/fzzy/protocol/wujia/client/ClientHandler.java | 31 ++-
src/main/java/com/fzzy/protocol/bhzn/analysis/AnalysisService.java | 8
src/main/java/com/fzzy/gateway/api/GatewayDeviceReportService.java | 14 ++
src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java | 4
src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java | 2
src/main/java/com/fzzy/protocol/fzzy/analysis/AnalysisGrain.java | 6
src/main/java/com/fzzy/gateway/view/GatewayDevice.view.xml | 15 +
src/main/java/com/fzzy/protocol/fzzy/service/FzzyGatewayGrainService.java | 2
src/main/java/com/fzzy/protocol/wujia/service/WujiaGatewayGrainService.java | 25 ++-
src/main/java/com/fzzy/api/Constant.java | 3
src/main/java/com/fzzy/protocol/fzzy/analysis/AnalysisSystem.java | 2
src/main/java/com/fzzy/protocol/bhzn/service/Bhzn2GatewayGrainService.java | 2
src/main/java/com/fzzy/protocol/youxian1/analysis/AnalysisService.java | 7
src/main/java/com/fzzy/protocol/zldz/analysis/AnalysisGrain.java | 6
src/main/java/com/fzzy/protocol/wujia/analysis/AnalysisService.java | 7
src/main/java/com/fzzy/protocol/xsyg/analysis/AnalysisService.java | 7
src/main/java/com/fzzy/api/data/GatewayDeviceProtocol.java | 2
src/main/java/com/fzzy/protocol/bhzn/v0/analysis/AnalysisService.java | 8
src/main/java/com/fzzy/gateway/GatewayTimerScheduled.java | 42 +++++
src/main/java/com/fzzy/gateway/hx2023/service/DeviceReportServiceImpl.java | 185 ++++++++++++++++++++++++++
src/main/java/com/fzzy/protocol/youxian0/analysis/AnalysisService.java | 7
21 files changed, 328 insertions(+), 57 deletions(-)
diff --git a/src/main/java/com/fzzy/api/Constant.java b/src/main/java/com/fzzy/api/Constant.java
index 9fb3f23..dfd9eb2 100644
--- a/src/main/java/com/fzzy/api/Constant.java
+++ b/src/main/java/com/fzzy/api/Constant.java
@@ -360,6 +360,8 @@
device.setStatus(Constant.YN_Y);
device.setCode("SUCCESS");
device.setMsg("璁惧涓婄嚎");
+ device.setSn(device.getSn());
+ device.setId(device.getId());
device.setOnlineTime(new Date());
contextDeviceMap.put(device.getIp(), device);
log.info("璁惧涓婄嚎锛�" + ip);
@@ -377,6 +379,7 @@
device.setStatus(Constant.YN_N);
device.setCode("ERROR");
device.setMsg("璁惧绂荤嚎");
+ device.setId(device.getId());
contextDeviceMap.put(device.getIp(), device);
return device;
diff --git a/src/main/java/com/fzzy/api/data/GatewayDeviceProtocol.java b/src/main/java/com/fzzy/api/data/GatewayDeviceProtocol.java
index 4aba277..dd28c91 100644
--- a/src/main/java/com/fzzy/api/data/GatewayDeviceProtocol.java
+++ b/src/main/java/com/fzzy/api/data/GatewayDeviceProtocol.java
@@ -19,7 +19,7 @@
GRAIN_YOUXIAN0_2023("GRAIN_YOUXIAN0_2023", "绮儏-娓镐粰涓诲簱鍗忚"),
GRAIN_YOUXIAN1_2023("GRAIN_YOUXIAN1_2023", "绮儏-娓镐粰鍒嗗簱鍗忚"),
GRAIN_WUJIA_2023("GRAIN_WUJIA_2023", "绮儏-鍚村绮簱鍗忚"),
- GRAIN_XSYK_2023("GRAIN_WUJIA_2023", "娌规儏-瑗垮北娌瑰簱鍗忚"),
+ GRAIN_XSYK_2023("GRAIN_XSYK_2023", "娌规儏-瑗垮北娌瑰簱鍗忚"),
DEVICE_WEIGHT_HTTP("DEVICE_WEIGHT_HTTP", "鍦扮-HTTP鍗忚"),
DEVICE_WEIGHT_TCP_YH("DEVICE_WEIGHT_TCP_YH", "鍦扮-鑰�鍗嶵CP鍗忚"),
DEVICE_IDCARD_HTTP("DEVICE_IDCARD_HTTP", "韬唤璇�-HTTP鍗忚"),
diff --git a/src/main/java/com/fzzy/gateway/GatewayTimerScheduled.java b/src/main/java/com/fzzy/gateway/GatewayTimerScheduled.java
index 53a6984..22d9e30 100644
--- a/src/main/java/com/fzzy/gateway/GatewayTimerScheduled.java
+++ b/src/main/java/com/fzzy/gateway/GatewayTimerScheduled.java
@@ -6,6 +6,8 @@
import com.fzzy.api.utils.DateUtil;
import com.fzzy.data.ConfigData;
import com.fzzy.gateway.api.GatewayRemoteManager;
+import com.fzzy.gateway.api.GatewayRemoteService;
+import com.fzzy.gateway.api.GatewaySyncGranService;
import com.fzzy.gateway.data.BaseReqData;
import com.fzzy.gateway.data.BaseResp;
import com.fzzy.gateway.data.WeatherWebDto;
@@ -96,8 +98,46 @@
gatewayRemoteManager.getDeviceReportService(device.getPushProtocol()).reportGrainDataByHand(reqData);
}
}
-
}
+
+
+
+ /**
+ * <p>
+ * 绮儏姣忓ぉ8鐐归噰闆嗙伯鎯�
+ */
+ @Scheduled(cron = "0 32 7 ? * *")
+ public void scheduledGrain2() {
+ //鑾峰彇璁惧閰嶇疆锛屽彧閽堝绮儏璁惧杩涜鎵ц
+ log.info("瀹氭椂绮儏閲囬泦kafka鎺ㄩ��");
+ List<GatewayDevice> list = gatewayDeviceTestPR.listAll();
+
+ if (null == list || list.isEmpty()) {
+ log.error("涓鸿幏鍙栧埌绯荤粺涓澶囬厤缃紝鍙栨秷鎵ц\"");
+ return ;
+ }
+ BaseReqData reqData = new BaseReqData();
+ BaseResp resp;
+ for (GatewayDevice device : list) {
+ try{
+ //濡傛灉涓嶆槸绮儏鍒嗘満璺宠繃
+ if (!GatewayDeviceType.TYPE_07.getCode().equals(device.getType())) {
+ continue;
+ }
+ reqData.setDeviceId(device.getDeviceId());
+ reqData.setProductId(device.getProductId());
+ reqData.setDeviceName(device.getDeviceName());
+ reqData.setDevice(device);
+ reqData.setAutoReplay(true);
+ GatewaySyncGranService syncGrainService = gatewayRemoteManager.getSyncGrainService(device.getSyncProtocol());
+ resp = syncGrainService.syncGrain(reqData);
+ log.info("鍛戒护鍙戦�佺粨鏋滐細"+resp.toString());
+ }catch (Exception e){
+ log.error(e.getMessage(),e);
+ }
+ }
+ }
+
/**
* <p>
* 姣忛棿闅�3绉掓墽琛屼竴娆′簨浠�
diff --git a/src/main/java/com/fzzy/gateway/api/GatewayDeviceReportService.java b/src/main/java/com/fzzy/gateway/api/GatewayDeviceReportService.java
index 68c1303..c33df4c 100644
--- a/src/main/java/com/fzzy/gateway/api/GatewayDeviceReportService.java
+++ b/src/main/java/com/fzzy/gateway/api/GatewayDeviceReportService.java
@@ -4,6 +4,7 @@
import com.fzzy.gateway.data.BaseReqData;
import com.fzzy.gateway.data.BaseResp;
import com.fzzy.gateway.entity.GatewayDevice;
+import com.fzzy.gateway.hx2023.data.GrainData;
import com.fzzy.gateway.hx2023.data.KafaGrainData;
@@ -26,11 +27,15 @@
*/
BaseResp reportGrainData(BaseReqData reqData);
+
+ BaseResp reportGrainDataByKafka(BaseReqData reqData);
+
BaseResp reportWeightData(BaseReqData reqData);
BaseResp reportLprData(BaseReqData reqData);
BaseResp reportGrainDataByHand(BaseReqData reqData);
+
/**
@@ -42,4 +47,13 @@
*/
BaseResp grainData2GatewayApiInfo(Fz40Grain grainData, GatewayDevice gatewayDevice);
+
+ /**
+ * 绮儏涓氬姟鏁版嵁杞崲涓猴紝褰撳墠缃戝叧闇�瑕佺殑鎶ユ枃
+ * @param grainData 绗笁涓蒋浠剁伯鎯呮暟鎹姤鏂�
+ * @param gatewayDevice 缃戝叧涓澶囬厤缃俊鎭�
+ * @return
+ */
+
+ BaseResp grainData2GatewayApiInfoKafka(GrainData grainData, GatewayDevice device);
}
diff --git a/src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java b/src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java
index 2d7bc1e..135bebb 100644
--- a/src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java
+++ b/src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java
@@ -55,7 +55,9 @@
if ("testGrain".equals(param.getBizType())) {
return testGrain(param);
}
-
+ if ("testGrain".equals(param.getBizType())) {
+ return testGrain(param);
+ }
if ("ajaxTestKafkaGrain".equals(param.getBizType())) {
return ajaxTestKafkaGrain(param);
}
diff --git a/src/main/java/com/fzzy/gateway/hx2023/service/DeviceReportServiceImpl.java b/src/main/java/com/fzzy/gateway/hx2023/service/DeviceReportServiceImpl.java
index c163ba9..19ce2cf 100644
--- a/src/main/java/com/fzzy/gateway/hx2023/service/DeviceReportServiceImpl.java
+++ b/src/main/java/com/fzzy/gateway/hx2023/service/DeviceReportServiceImpl.java
@@ -1,5 +1,6 @@
package com.fzzy.gateway.hx2023.service;
+import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.fzzy.api.data.DepotType;
import com.fzzy.api.data.PushProtocol;
@@ -22,6 +23,7 @@
import javax.annotation.Resource;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
@Slf4j
@@ -62,6 +64,21 @@
log.info("-----TOPIC-----{}", topic);
log.info("-----Message-----{}", reqData.getData());
+ return new BaseResp();
+ }
+ @Override
+ public BaseResp reportGrainDataByKafka(BaseReqData reqData) {
+ String topic = ScConstant.TOPIC_ZLJ_GRAIN_TEMPERATURE;
+ //濡傛灉鏄祴璇曟ā寮忎笉鎵ц鎺ㄩ��
+ if (configData.getActive().indexOf("dev") >= 0) {
+ log.info("----------------------------鎺ㄩ�並AFKA绮儏淇℃伅锛屾敞锛氳皟璇曟ā寮忎笉鎺ㄩ��---------------------------");
+ log.info("-----TOPIC-----{}", topic);
+ log.info("-----Message-----{}", reqData.getData());
+
+ return new BaseResp();
+ }
+
+ kafkaDeviceReportService.publishWithTopic(reqData.getData(), topic);
return new BaseResp();
}
@@ -531,4 +548,172 @@
return resp;
}
+
+
+
+ // ----------------------------------------------------
+
+ @Override
+ public BaseResp grainData2GatewayApiInfoKafka(GrainData grainData, GatewayDevice device) {
+
+ BaseResp resp = new BaseResp();
+
+ GrainCableData cableData = GatewayUtils.getCableData(device);
+
+ if (null == device.getDepotType()) device.setDepotType(DepotType.TYPE_01.getCode());
+
+// //琛ㄧず绛掍粨
+// if (DepotType.TYPE_02.getCode().equals(device.getDepotType()) || DepotType.TYPE_04.getCode().equals(device.getDepotType())) {
+// return grainData2GatewayApiInfo2(grainData, device, cableData);
+// }
+//
+// //琛ㄧず涓虹瓛浠撳寘鎷补缃愪粨
+// if (DepotType.TYPE_03.getCode().equals(device.getDepotType())) {
+// return grainData2GatewayApiInfo3(grainData, device, cableData);
+// }
+ GrainOutPut output = JSONObject.parseObject(grainData.getOutput(),GrainOutPut.class);
+ KafaGrainData result = new KafaGrainData();
+ result.setMessageId(ScConstant.getMessageId());
+ result.setMessgeId(result.getMessageId());
+ result.setDeviceID(device.getDeviceId());
+ result.setAvgTemperature(output.getAvgTemperature());
+ result.setMinTemperature(output.getMinTemperature());
+ result.setMaxTemperature(output.getMaxTemperature() );
+ result.setCollectTime(DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
+
+ //灞傝鍒�
+ int cableZ = cableData.getCableZ();
+ int cableY = cableData.getCableY();
+ int cableX = cableData.getCableX();
+
+ //娓╁害闆嗗悎
+ List<GrainTemp> attr = output.getTemperature();
+
+ //鏍瑰彿
+ int cableNum = 1, position = 0;
+ String curTemp;
+ List<KafkaGrainDataDetail1> temperature = new ArrayList<>();
+
+ int x = 0, y = 0, z = 0;
+ for (int i = 0; i < attr.size(); i++) {
+ position = i;
+ z = i % cableZ + 1;
+ x = i / (cableZ * cableY);
+ y = x * (cableZ * cableY);
+ y = (i - y) / cableZ;
+ // 鍊掕浆X杞�
+ x = cableX - 1 - x;
+ //鏍瑰彿
+ cableNum = (i / cableZ) + 1;
+ curTemp = attr.get(i).getTemperature();
+
+
+ //濡傛灉鏄紓甯稿��,鎵ц璋冩暣鏁版嵁 TODO
+ if (Double.valueOf(curTemp) < -99.9) {
+
+ curTemp = output.getAvgTemperature();
+
+ } else {
+ //鍒ゆ柇鏈�澶�
+ if (curTemp.equals(result.getMaxTemperature())) {
+ result.setMaxX(x + "");
+ result.setMaxY(y + "");
+ result.setMaxZ(position + "");
+ }
+ //鍒ゆ柇鏈�灏�
+ if (curTemp.equals(result.getMinTemperature())) {
+ result.setMinX(x + "");
+ result.setMinY(y + "");
+ result.setMinZ(position + "");
+ }
+ }
+
+ temperature.add(new KafkaGrainDataDetail1(cableNum + "", z + "", curTemp, position + "", x + "", y + ""));
+ }
+
+ //绮俯淇℃伅
+ JSONObject trhInfo = new JSONObject();
+ // TRHInfo trhInfo = new TRHInfo();
+ trhInfo.put("temperature", temperature);
+
+
+ //浠撴俯搴︿俊鎭�
+ KafkaGrainTH grainTH = new KafkaGrainTH();
+ List<GrainTH> ths= output.getTemperatureAndhumidity();
+ grainTH.setHumidity(ths.get(0).getHumidity());
+ grainTH.setTemperature(ths.get(0).getTemperature() );
+
+ GrainWeather weather = JSON.parseObject(grainData.getWeatherStation(),GrainWeather.class);
+ grainTH.setAirHumidity(weather.getHumidity());
+ grainTH.setAirTemperature(weather.getTemperature() );
+
+ List<KafkaGrainTH> temperatureAndhumidity = new ArrayList<>();
+ temperatureAndhumidity.add(grainTH);
+
+ trhInfo.put("temperatureAndhumidity", temperatureAndhumidity);
+
+
+ JSONObject params = new JSONObject();
+ params.put("TRHInfo", trhInfo);
+
+ result.setParams(params);
+
+
+ resp.setData(JSONObject.toJSONString(result));
+
+ return resp;
+ }
+
+
+
+ /**
+ * 鑾峰彇褰撶偣鎵�鍦ㄥ湀
+ *
+ * @param cableNum
+ * @param cableData
+ * @return
+ */
+ private int getCirCleKafka(int position, int cableNum, GrainCableData cableData) {
+
+ int num1 = 1, num2 = 2;
+ String[] attCable = cableData.getCableRule().split("-");
+
+ if (cableData.getTotalCircle() == 1) return 1;
+
+ if (cableData.getTotalCircle() == 2) {
+ num1 = Integer.valueOf(attCable[0]);
+
+ if (cableNum <= num1) return 1;
+
+ return 2;
+ }
+
+ if (cableData.getTotalCircle() == 3) {
+ num1 = Integer.valueOf(attCable[0]);
+ num2 = num1 + Integer.valueOf(attCable[1]);
+ if (cableNum <= num1) return 1;
+
+ if (cableNum <= num2) return 2;
+
+ return 3;
+ }
+
+ if (cableData.getTotalCircle() == 4) {
+ num1 = Integer.valueOf(attCable[0]);
+ num2 = num1 + Integer.valueOf(attCable[1]);
+ if (cableNum <= num1) return 1;
+
+ if (cableNum <= num2) return 2;
+
+ num2 = num1 + Integer.valueOf(attCable[1]) + Integer.valueOf(attCable[2]);
+
+ if (cableNum <= num2) return 3;
+
+ return 4;
+ }
+
+ return 1;
+ }
+
+
}
diff --git a/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java b/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java
index 7b7b5f4..067e3d9 100644
--- a/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java
+++ b/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java
@@ -158,7 +158,7 @@
device.setPort(commonDevice.getPort());
device.setOnlineTime(new Date());
device.setStatus(Constant.YN_Y);
-
+ device.setDeviceSn(commonDevice.getSn());
GatewayUtils.add2Cache(device);
}
}
diff --git a/src/main/java/com/fzzy/gateway/view/GatewayDevice.view.xml b/src/main/java/com/fzzy/gateway/view/GatewayDevice.view.xml
index f2cdce0..b3b0d1b 100644
--- a/src/main/java/com/fzzy/gateway/view/GatewayDevice.view.xml
+++ b/src/main/java/com/fzzy/gateway/view/GatewayDevice.view.xml
@@ -265,12 +265,15 @@
<Property name="exClassName">toolbar-button-push</Property>
</ToolBarButton>
<ToolBarButton>
- <ClientEvent name="onClick">var data = view.get("#dsMain.data:#");
-var param = {
- deviceId:data.get("deviceId"),
- bizType:"testGrain"
-}
-testDevice(param);</ClientEvent>
+ <ClientEvent name="onClick">$confirm("纭娴嬭瘯绮儏锛�",function(){
+ var data = view.get("#dsMain.data:#");
+ var param = {
+ deviceId:data.get("deviceId"),
+ bizType:"testGrain"
+ }
+testDevice(param);
+});
+</ClientEvent>
<Property name="caption">绮儏璋冭瘯</Property>
<Property name="iconClass">fa fa-wrench</Property>
<Property name="exClassName">toolbar-button-push</Property>
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 28668ed..780ef00 100644
--- a/src/main/java/com/fzzy/protocol/bhzn/analysis/AnalysisService.java
+++ b/src/main/java/com/fzzy/protocol/bhzn/analysis/AnalysisService.java
@@ -392,7 +392,7 @@
grain.setProperties(properties);
reqData.setData(JSONObject.toJSONString(grain));
- doPushGrain(reqData);
+ doPushGrain(reqData,grain);
}
/**
@@ -537,10 +537,10 @@
reqData.setData(JSONObject.toJSONString(grain));
- doPushGrain(reqData);
+ doPushGrain(reqData,grain);
}
- private void doPushGrain(BaseReqData reqData) {
+ private void doPushGrain(BaseReqData reqData,GrainData grainData) {
GatewayDeviceReportService reportService = gatewayRemoteManager.getDeviceReportService(reqData.getDevice().getPushProtocol());
if (null == reportService) {
@@ -548,6 +548,8 @@
return;
}
reportService.reportGrainData(reqData);
+ reqData.setData(reportService.grainData2GatewayApiInfoKafka(grainData,reqData.getDevice()).getData());
+ reportService.reportGrainDataByKafka(reqData);
}
diff --git a/src/main/java/com/fzzy/protocol/bhzn/service/Bhzn2GatewayGrainService.java b/src/main/java/com/fzzy/protocol/bhzn/service/Bhzn2GatewayGrainService.java
index 240c90a..a6c3c6d 100644
--- a/src/main/java/com/fzzy/protocol/bhzn/service/Bhzn2GatewayGrainService.java
+++ b/src/main/java/com/fzzy/protocol/bhzn/service/Bhzn2GatewayGrainService.java
@@ -35,7 +35,7 @@
GatewayDevice device = reqData.getDevice();
//鑾峰彇杩炴帴涓殑璁惧淇℃伅
- ApiCommonDevice apiCommonDevice = Constant.getCommonDeviceCache(device.getIp());
+ ApiCommonDevice apiCommonDevice = Constant.getCommonDeviceCacheByIp(device.getIp());
if (null == apiCommonDevice) {
resp.setCode(500);
diff --git a/src/main/java/com/fzzy/protocol/bhzn/v0/analysis/AnalysisService.java b/src/main/java/com/fzzy/protocol/bhzn/v0/analysis/AnalysisService.java
index ea1fca7..916166d 100644
--- a/src/main/java/com/fzzy/protocol/bhzn/v0/analysis/AnalysisService.java
+++ b/src/main/java/com/fzzy/protocol/bhzn/v0/analysis/AnalysisService.java
@@ -367,7 +367,7 @@
reqData.setData(JSONObject.toJSONString(grain));
- doPushGrain(reqData);
+ doPushGrain(reqData,grain);
}
/**
@@ -504,10 +504,10 @@
reqData.setData(JSONObject.toJSONString(grain));
- doPushGrain(reqData);
+ doPushGrain(reqData,grain);
}
- private void doPushGrain(BaseReqData reqData) {
+ private void doPushGrain(BaseReqData reqData,GrainData grainData) {
GatewayDeviceReportService reportService = gatewayRemoteManager.getDeviceReportService(reqData.getDevice().getPushProtocol());
if (null == reportService) {
@@ -515,6 +515,8 @@
return;
}
reportService.reportGrainData(reqData);
+ reqData.setData(reportService.grainData2GatewayApiInfoKafka(grainData,reqData.getDevice()).getData());
+ reportService.reportGrainDataByKafka(reqData);
}
diff --git a/src/main/java/com/fzzy/protocol/fzzy/analysis/AnalysisGrain.java b/src/main/java/com/fzzy/protocol/fzzy/analysis/AnalysisGrain.java
index fb85434..58582b3 100644
--- a/src/main/java/com/fzzy/protocol/fzzy/analysis/AnalysisGrain.java
+++ b/src/main/java/com/fzzy/protocol/fzzy/analysis/AnalysisGrain.java
@@ -199,10 +199,10 @@
log.info("---绮儏鏈烘灏佽瀹屾垚----寮�濮嬫墽琛屾帹閫�");
reqData.setData(JSONObject.toJSONString(grain));
- doPushGrain(reqData);
+ doPushGrain(reqData,grain);
}
- private void doPushGrain(BaseReqData reqData) {
+ private void doPushGrain(BaseReqData reqData,GrainData grainData) {
GatewayDeviceReportService reportService = gatewayRemoteManager.getDeviceReportService(reqData.getDevice().getPushProtocol());
if (null == reportService) {
@@ -210,6 +210,8 @@
return;
}
reportService.reportGrainData(reqData);
+ reqData.setData(reportService.grainData2GatewayApiInfoKafka(grainData,reqData.getDevice()).getData());
+ reportService.reportGrainDataByKafka(reqData);
}
private void returnMsg(ApiCommonDevice ser) {
diff --git a/src/main/java/com/fzzy/protocol/fzzy/analysis/AnalysisSystem.java b/src/main/java/com/fzzy/protocol/fzzy/analysis/AnalysisSystem.java
index 16a7fab..744920c 100644
--- a/src/main/java/com/fzzy/protocol/fzzy/analysis/AnalysisSystem.java
+++ b/src/main/java/com/fzzy/protocol/fzzy/analysis/AnalysisSystem.java
@@ -44,7 +44,7 @@
device.setIp(reMessage.getIp());
device.setPort(reMessage.getPort());
device.setSn(reMessage.getSn());
- device.setId(reMessage.getIedId());
+ device.setId(d.getId());
device.setOnlineTime(new Date());
device.setCode("SUCCESS");
Constant.updateCache(device);
diff --git a/src/main/java/com/fzzy/protocol/fzzy/service/FzzyGatewayGrainService.java b/src/main/java/com/fzzy/protocol/fzzy/service/FzzyGatewayGrainService.java
index c97e274..0bbbc86 100644
--- a/src/main/java/com/fzzy/protocol/fzzy/service/FzzyGatewayGrainService.java
+++ b/src/main/java/com/fzzy/protocol/fzzy/service/FzzyGatewayGrainService.java
@@ -40,7 +40,7 @@
if (null == apiCommonDevice) {
resp.setCode(500);
resp.setMsg("绯荤粺鏈幏鍙栧埌涓嬭杩炴帴璁惧淇℃伅锛屾棤娉曟墽琛�");
- log.error("----------------绯荤粺鏈幏鍙栧埌涓嬭杩炴帴璁惧淇℃伅,鏃犳硶鎵ц---------");
+ log.error("----------------绯荤粺鏈幏鍙栧埌涓嬭杩炴帴璁惧淇℃伅,鏃犳硶鎵ц---------"+device.toString());
return resp;
}
diff --git a/src/main/java/com/fzzy/protocol/wujia/analysis/AnalysisService.java b/src/main/java/com/fzzy/protocol/wujia/analysis/AnalysisService.java
index 5c2e562..1f30819 100644
--- a/src/main/java/com/fzzy/protocol/wujia/analysis/AnalysisService.java
+++ b/src/main/java/com/fzzy/protocol/wujia/analysis/AnalysisService.java
@@ -223,17 +223,18 @@
reqData.setData(JSONObject.toJSONString(grain));
- doPushGrain(reqData);
+ doPushGrain(reqData,grain);
}
- private void doPushGrain(BaseReqData reqData) {
+ private void doPushGrain(BaseReqData reqData,GrainData grainData) {
GatewayDeviceReportService reportService = gatewayRemoteManager.getDeviceReportService(reqData.getDevice().getPushProtocol());
if (null == reportService) {
log.error("------------绮儏鎺ㄩ�佸け璐ワ紝绯荤粺涓嶅瓨鍦ㄥ綋鍓嶅崗璁墽琛岀被----{}", reqData.getDevice().getDeviceName());
return;
}
-
reportService.reportGrainData(reqData);
+ reqData.setData(reportService.grainData2GatewayApiInfoKafka(grainData,reqData.getDevice()).getData());
+ reportService.reportGrainDataByKafka(reqData);
}
}
diff --git a/src/main/java/com/fzzy/protocol/wujia/client/ClientHandler.java b/src/main/java/com/fzzy/protocol/wujia/client/ClientHandler.java
index 3fc685b..830878b 100644
--- a/src/main/java/com/fzzy/protocol/wujia/client/ClientHandler.java
+++ b/src/main/java/com/fzzy/protocol/wujia/client/ClientHandler.java
@@ -2,8 +2,7 @@
import com.fzzy.api.utils.BytesUtil;
import com.fzzy.api.utils.SpringUtil;
-import com.fzzy.protocol.youxian0.analysis.AnalysisService;
-import com.fzzy.protocol.youxian0.client.ClientEngine;
+import com.fzzy.protocol.wujia.analysis.AnalysisService;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;
import lombok.extern.slf4j.Slf4j;
@@ -16,6 +15,7 @@
private AnalysisService analysisService;
+ private static String msgStr = "";
@Override
public void channelActive(ChannelHandlerContext ctx) {
InetSocketAddress socketAddress = (InetSocketAddress) ctx.channel()
@@ -32,7 +32,7 @@
InetSocketAddress socketAddress = (InetSocketAddress) ctx.channel().remoteAddress();
log.info("杩炴帴缁堢鎺夌嚎锛孖P={},port={}", socketAddress.getAddress(), socketAddress.getPort());
- ClientEngine.defaultChannel = null;
+ //ClientEngine.defaultChannel = null;
}
@@ -45,16 +45,25 @@
String strMsg = BytesUtil.bytesToString(bytes);
log.info("缁堢杩斿洖淇℃伅锛孖P={},port={}锛宮sg={}", socketAddress.getAddress(), socketAddress.getPort(), strMsg);
+ msgStr+= strMsg;
- if (null == analysisService) {
- analysisService = SpringUtil.getBean(AnalysisService.class);
+ if(msgStr.endsWith("AABBCC")){
+
+ log.info("娑堟伅鎺ユ敹瀹屾暣寮�濮嬭В鏋愶紝IP={},port={}锛宮sg={}", socketAddress.getAddress(), socketAddress.getPort(), msgStr);
+
+ if (null == analysisService) {
+ analysisService = SpringUtil.getBean(AnalysisService.class);
+ }
+ try{
+ analysisService.analysis(socketAddress.getAddress(), socketAddress.getPort(), msgStr);
+ }catch (Exception e){
+ log.error(e.getMessage(),e);
+ }
+ msgStr = "";
+ }else{
+ log.info("娑堟伅涓嶅畬鏁达紝绛夊緟娑堟伅瀹屾暣锛孖P={},port={}锛宮sg={}", socketAddress.getAddress(), socketAddress.getPort(), strMsg);
+
}
-
- try{
- analysisService.analysis(socketAddress.getAddress(), socketAddress.getPort(), strMsg);
- }catch (Exception e){
- log.error(e.getMessage(),e);
- }
}
diff --git a/src/main/java/com/fzzy/protocol/wujia/service/WujiaGatewayGrainService.java b/src/main/java/com/fzzy/protocol/wujia/service/WujiaGatewayGrainService.java
index 2f9b014..b9d5425 100644
--- a/src/main/java/com/fzzy/protocol/wujia/service/WujiaGatewayGrainService.java
+++ b/src/main/java/com/fzzy/protocol/wujia/service/WujiaGatewayGrainService.java
@@ -36,20 +36,23 @@
static {
- depotGrainCmdMap.put("KEY_1", "FC0101010314030100BDDB");
- depotGrainCmdMap.put("KEY_2", "FC0102040318030200BDDB");
- depotGrainCmdMap.put("KEY_3", "FC0203010318040100BDDB");
- depotGrainCmdMap.put("KEY_4", "FC0304010318040100BDDB");
- depotGrainCmdMap.put("KEY_5", "FC0305040318040200BDDB");
- depotGrainCmdMap.put("KEY_6", "FC0406010210030100BDDB");
- depotGrainCmdMap.put("KEY_7", "FC0407030314030200BDDB");
- depotGrainCmdMap.put("KEY_8", "FC0408060314030300BDDB");
- depotGrainCmdMap.put("KEY_9", "FC050901042A040100BDDB");
- depotGrainCmdMap.put("KEY_10", "FC050A010324040100BDDB");
- depotGrainCmdMap.put("KEY_11", "FC060B04042A040200BDDB");
+ depotGrainCmdMap.put("KEY_1", "FC01010103140301EBBDDB");
+ depotGrainCmdMap.put("KEY_2", "FC01020403180302EBBDDB");
+ depotGrainCmdMap.put("KEY_3", "FC02030103180401EBBDDB");
+ depotGrainCmdMap.put("KEY_4", "FC03040103180401EBBDDB");
+ depotGrainCmdMap.put("KEY_5", "FC03050403180402EBBDDB");
+ depotGrainCmdMap.put("KEY_6", "FC04060102100301EBBDDB");
+ depotGrainCmdMap.put("KEY_7", "FC04070303140302EBBDDB");
+ depotGrainCmdMap.put("KEY_8", "FC04080603140303EBBDDB");
+ depotGrainCmdMap.put("KEY_9", "FC050901042A0401EBBDDB");
+ depotGrainCmdMap.put("KEY_10", "FC050A0103240401EBBDDB");
+ depotGrainCmdMap.put("KEY_11", "FC060B04042A0402EBBDDB");
}
/**
+ * FC 64 01 01 00 09 01 1A 10 BD DB
+ * FC 01 01 01 03 14 03 01 EB BD DB
+ *
* 1浠擄細 FC 01 01 01 03 14 03 01 00 BD DB
* 2浠擄細 FC 01 02 04 03 18 03 02 00 BD DB
* 3浠擄細 FC 02 03 01 03 18 04 01 00 BD DB
diff --git a/src/main/java/com/fzzy/protocol/xsyg/analysis/AnalysisService.java b/src/main/java/com/fzzy/protocol/xsyg/analysis/AnalysisService.java
index 6e19b30..42a20ae 100644
--- a/src/main/java/com/fzzy/protocol/xsyg/analysis/AnalysisService.java
+++ b/src/main/java/com/fzzy/protocol/xsyg/analysis/AnalysisService.java
@@ -197,17 +197,18 @@
reqData.setData(JSONObject.toJSONString(grain));
- doPushGrain(reqData);
+ doPushGrain(reqData,grain);
}
- private void doPushGrain(BaseReqData reqData) {
+ private void doPushGrain(BaseReqData reqData,GrainData grainData) {
GatewayDeviceReportService reportService = gatewayRemoteManager.getDeviceReportService(reqData.getDevice().getPushProtocol());
if (null == reportService) {
log.error("------------绮儏鎺ㄩ�佸け璐ワ紝绯荤粺涓嶅瓨鍦ㄥ綋鍓嶅崗璁墽琛岀被----{}", reqData.getDevice().getDeviceName());
return;
}
-
reportService.reportGrainData(reqData);
+ reqData.setData(reportService.grainData2GatewayApiInfoKafka(grainData,reqData.getDevice()).getData());
+ reportService.reportGrainDataByKafka(reqData);
}
}
diff --git a/src/main/java/com/fzzy/protocol/youxian0/analysis/AnalysisService.java b/src/main/java/com/fzzy/protocol/youxian0/analysis/AnalysisService.java
index 0f3d8ce..4eae202 100644
--- a/src/main/java/com/fzzy/protocol/youxian0/analysis/AnalysisService.java
+++ b/src/main/java/com/fzzy/protocol/youxian0/analysis/AnalysisService.java
@@ -338,18 +338,19 @@
reqData.setData(JSONObject.toJSONString(grain));
- doPushGrain(reqData);
+ doPushGrain(reqData,grain);
}
- private void doPushGrain(BaseReqData reqData) {
+ private void doPushGrain(BaseReqData reqData,GrainData grainData) {
GatewayDeviceReportService reportService = gatewayRemoteManager.getDeviceReportService(reqData.getDevice().getPushProtocol());
if (null == reportService) {
log.error("------------绮儏鎺ㄩ�佸け璐ワ紝绯荤粺涓嶅瓨鍦ㄥ綋鍓嶅崗璁墽琛岀被----{}", reqData.getDevice().getDeviceName());
return;
}
-
reportService.reportGrainData(reqData);
+ reqData.setData(reportService.grainData2GatewayApiInfoKafka(grainData,reqData.getDevice()).getData());
+ reportService.reportGrainDataByKafka(reqData);
}
private synchronized void add2GrainMap(GrainRoot grainRoot) {
diff --git a/src/main/java/com/fzzy/protocol/youxian1/analysis/AnalysisService.java b/src/main/java/com/fzzy/protocol/youxian1/analysis/AnalysisService.java
index eecfd5a..74b4179 100644
--- a/src/main/java/com/fzzy/protocol/youxian1/analysis/AnalysisService.java
+++ b/src/main/java/com/fzzy/protocol/youxian1/analysis/AnalysisService.java
@@ -295,19 +295,20 @@
reqData.setData(JSONObject.toJSONString(grain));
- doPushGrain(reqData);
+ doPushGrain(reqData,grain);
}
- private void doPushGrain(BaseReqData reqData) {
+ private void doPushGrain(BaseReqData reqData,GrainData grainData) {
GatewayDeviceReportService reportService = gatewayRemoteManager.getDeviceReportService(reqData.getDevice().getPushProtocol());
if (null == reportService) {
log.error("------------绮儏鎺ㄩ�佸け璐ワ紝绯荤粺涓嶅瓨鍦ㄥ綋鍓嶅崗璁墽琛岀被----{}", reqData.getDevice().getDeviceName());
return;
}
-
reportService.reportGrainData(reqData);
+ reqData.setData(reportService.grainData2GatewayApiInfoKafka(grainData,reqData.getDevice()).getData());
+ reportService.reportGrainDataByKafka(reqData);
}
diff --git a/src/main/java/com/fzzy/protocol/zldz/analysis/AnalysisGrain.java b/src/main/java/com/fzzy/protocol/zldz/analysis/AnalysisGrain.java
index a497bde..0ac790d 100644
--- a/src/main/java/com/fzzy/protocol/zldz/analysis/AnalysisGrain.java
+++ b/src/main/java/com/fzzy/protocol/zldz/analysis/AnalysisGrain.java
@@ -482,10 +482,10 @@
reqData.setData(JSONObject.toJSONString(grain));
- doPushGrain(reqData);
+ doPushGrain(reqData,grain);
}
- private void doPushGrain(BaseReqData reqData) {
+ private void doPushGrain(BaseReqData reqData,GrainData grainData) {
GatewayDeviceReportService reportService = gatewayRemoteManager.getDeviceReportService(reqData.getDevice().getPushProtocol());
if (null == reportService) {
@@ -493,6 +493,8 @@
return;
}
reportService.reportGrainData(reqData);
+ reqData.setData(reportService.grainData2GatewayApiInfoKafka(grainData,reqData.getDevice()).getData());
+ reportService.reportGrainDataByKafka(reqData);
}
--
Gitblit v1.9.3