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/gateway/controller/GatewayDeviceController.java | 167 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 161 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java b/src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java index 6c59892..135bebb 100644 --- a/src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java +++ b/src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java @@ -1,5 +1,6 @@ package com.fzzy.gateway.controller; +import com.fzzy.api.data.GatewayDeviceProtocol; import com.fzzy.api.data.GatewayDeviceType; import com.fzzy.gateway.GatewayUtils; import com.fzzy.gateway.api.GatewayRemoteManager; @@ -54,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); } @@ -67,6 +70,143 @@ return ajaxTestLpr(param); } + return "SUCCESS"; + } + + + /** + * 涓嬭鍒嗘満娴嬭瘯鍏ュ彛 + * + * @param param + * @return + */ + @PostMapping("/test/IDE") + public @ResponseBody + String testIDE(@RequestBody GateWayParam param) throws Exception { + + if (StringUtils.isEmpty(param.getBizType())) { + return "ERROR:娌℃湁鑾峰彇鍒颁笟鍔$被鍨嬶紝鎵ц澶辫触"; + } + + //鑾峰彇鍒嗘満閰嶇疆 + if ("syncConf".equals(param.getBizType())) { + return syncConf(param); + } + + if ("writeConf".equals(param.getBizType())) { + return writeConf(param); + } + + if ("initParam".equals(param.getBizType())) { + return initCable(param); + } + + if ("disconnect".equals(param.getBizType())) { + return disconnect(param); + } + + if ("transparent".equals(param.getBizType())) { + return transparent(param); + } + + return "SUCCESS"; + } + + + private String transparent(GateWayParam param) { + + String deviceId = param.getDeviceId(); + + GatewayDevice device = GatewayUtils.getCacheByDeviceId(deviceId); + + BaseReqData reqData = new BaseReqData(); + reqData.setDeviceId(device.getDeviceId()); + reqData.setProductId(device.getProductId()); + reqData.setDeviceName(device.getDeviceName()); + reqData.setDevice(device); + reqData.setAutoReplay(false); + + BaseResp resp = gatewayRemoteManager.getSyncGrainService(device.getSyncProtocol()).transparent(reqData); + if (BaseResp.CODE_200 != resp.getCode()) { + return "ERROR锛�" + resp.getMsg(); + } + return "SUCCESS"; + } + + private String disconnect(GateWayParam param) { + String deviceId = param.getDeviceId(); + + GatewayDevice device = GatewayUtils.getCacheByDeviceId(deviceId); + + BaseReqData reqData = new BaseReqData(); + reqData.setDeviceId(device.getDeviceId()); + reqData.setProductId(device.getProductId()); + reqData.setDeviceName(device.getDeviceName()); + reqData.setDevice(device); + reqData.setAutoReplay(false); + + BaseResp resp = gatewayRemoteManager.getSyncGrainService(device.getSyncProtocol()).disconnect(reqData); + if (BaseResp.CODE_200 != resp.getCode()) { + return "ERROR锛�" + resp.getMsg(); + } + return "SUCCESS"; + } + + private String initCable(GateWayParam param) { + String deviceId = param.getDeviceId(); + + GatewayDevice device = GatewayUtils.getCacheByDeviceId(deviceId); + + BaseReqData reqData = new BaseReqData(); + reqData.setDeviceId(device.getDeviceId()); + reqData.setProductId(device.getProductId()); + reqData.setDeviceName(device.getDeviceName()); + reqData.setDevice(device); + reqData.setAutoReplay(false); + + BaseResp resp = gatewayRemoteManager.getSyncGrainService(device.getSyncProtocol()).initCable(reqData); + if (BaseResp.CODE_200 != resp.getCode()) { + return "ERROR锛�" + resp.getMsg(); + } + return "SUCCESS"; + } + + private String syncConf(GateWayParam param) { + + String deviceId = param.getDeviceId(); + + GatewayDevice device = GatewayUtils.getCacheByDeviceId(deviceId); + + BaseReqData reqData = new BaseReqData(); + reqData.setDeviceId(device.getDeviceId()); + reqData.setProductId(device.getProductId()); + reqData.setDeviceName(device.getDeviceName()); + reqData.setDevice(device); + reqData.setAutoReplay(false); + + BaseResp resp = gatewayRemoteManager.getSyncGrainService(device.getSyncProtocol()).syncConf(reqData); + if (BaseResp.CODE_200 != resp.getCode()) { + return "ERROR锛�" + resp.getMsg(); + } + return "SUCCESS"; + } + + private String writeConf(GateWayParam param) { + String deviceId = param.getDeviceId(); + + GatewayDevice device = GatewayUtils.getCacheByDeviceId(deviceId); + + BaseReqData reqData = new BaseReqData(); + reqData.setDeviceId(device.getDeviceId()); + reqData.setProductId(device.getProductId()); + reqData.setDeviceName(device.getDeviceName()); + reqData.setDevice(device); + reqData.setAutoReplay(false); + + BaseResp resp = gatewayRemoteManager.getSyncGrainService(device.getSyncProtocol()).writeConf(reqData); + if (BaseResp.CODE_200 != resp.getCode()) { + return "ERROR锛�" + resp.getMsg(); + } return "SUCCESS"; } @@ -87,7 +227,7 @@ } BaseReqData reqData; - int i = 1; + int i = 0; GatewaySyncLprService syncLprService; for (GatewayDevice device : list) { @@ -97,7 +237,7 @@ reqData = new BaseReqData(device); reqData.setIndex(i); syncLprService = gatewayRemoteManager.getSyncLprService(device.getSyncProtocol()); - if(null == syncLprService) continue; + if (null == syncLprService) continue; syncLprService.initLpr(reqData); i++; } @@ -125,7 +265,14 @@ return "ERROR锛氬綋鍓嶈澶囨病鏈夐厤缃竷绾胯鍒欙紝鏃犳硶鎵ц"; } - BaseResp resp = gatewayRemoteManager.getGatewayTestService(device.getPushProtocol()).testGrain(reqData); + BaseResp resp; + if (GatewayDeviceProtocol.DEVICE_TEST.getCode().equals(device.getSyncProtocol())) { + resp = gatewayRemoteManager.getGatewayTestService(device.getPushProtocol()).testGrain(reqData); + } else { + reqData.setAutoReplay(false); + resp = gatewayRemoteManager.getSyncGrainService(device.getSyncProtocol()).syncGrain(reqData); + } + //鑷姩鎺ㄩ�� if (BaseResp.CODE_200 == resp.getCode() && reqData.isAutoReplay()) { reqData.setData(resp.getData()); @@ -151,17 +298,25 @@ BaseReqData reqData; BaseResp resp; for (GatewayDevice device : list) { + + //濡傛灉涓嶆槸绮儏鍒嗘満璺宠繃 + if (!GatewayDeviceType.TYPE_07.getCode().equals(device.getType())) { + continue; + } reqData = new BaseReqData(); + reqData.setProductId(device.getProductId()); + reqData.setDeviceName(device.getDeviceName()); reqData.setDeviceId(param.getDeviceId()); reqData.setDayTime(param.getDayTime()); reqData.setDevice(device); + //鑾峰彇鍒� resp = gatewayRemoteManager.getGatewayTestService(device.getPushProtocol()).testGrainKafka(reqData); - + log.info("resp = "+resp.toString()); //鑷姩鎺ㄩ�� if (BaseResp.CODE_200 == resp.getCode()) { reqData.setData(resp.getData()); - gatewayRemoteManager.getDeviceReportService(device.getPushProtocol()).reportGrainDataByKafka(reqData); + gatewayRemoteManager.getDeviceReportService(device.getPushProtocol()).reportGrainDataByHand(reqData); } } -- Gitblit v1.9.3