From d1e65a28fc73b543b8f34fe118712573682ff2fc Mon Sep 17 00:00:00 2001 From: vince <757871790@qq.com> Date: 星期三, 17 一月 2024 02:54:28 +0800 Subject: [PATCH] 优化吴家协议 --- src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 157 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java b/src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java index da95754..2d7bc1e 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; @@ -70,6 +71,143 @@ 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"; + } + /** * 鍒濆鍖栬溅鐗岃瘑鍒� * @@ -97,7 +235,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 +263,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 +296,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