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