From 1959bd7304335969851e7b05e88d879ab623d134 Mon Sep 17 00:00:00 2001 From: vince <757871790@qq.com> Date: 星期五, 31 五月 2024 09:45:17 +0800 Subject: [PATCH] 定时测温 --- src/main/java/com/fzzy/gateway/controller/GatewayDataApi.java | 390 +++++-------------------------------------------------- 1 files changed, 40 insertions(+), 350 deletions(-) diff --git a/src/main/java/com/fzzy/gateway/controller/GatewayDataApi.java b/src/main/java/com/fzzy/gateway/controller/GatewayDataApi.java index 06ec61d..beec7a3 100644 --- a/src/main/java/com/fzzy/gateway/controller/GatewayDataApi.java +++ b/src/main/java/com/fzzy/gateway/controller/GatewayDataApi.java @@ -1,17 +1,13 @@ package com.fzzy.gateway.controller; -import com.fzzy.api.data.GatewayDeviceProtocol; -import com.fzzy.api.data.GatewayDeviceType; +import com.fzzy.async.fzzy40.entity.Fz40Grain; import com.fzzy.gateway.GatewayUtils; +import com.fzzy.gateway.api.GatewayDeviceReportService; import com.fzzy.gateway.api.GatewayRemoteManager; -import com.fzzy.gateway.api.GatewaySyncLprService; import com.fzzy.gateway.data.BaseReqData; import com.fzzy.gateway.data.BaseResp; -import com.fzzy.gateway.entity.GateWayParam; import com.fzzy.gateway.entity.GatewayDevice; -import com.fzzy.gateway.service.GatewayDeviceService; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -19,8 +15,6 @@ import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; -import java.util.List; -import java.util.stream.Collectors; /** @@ -32,366 +26,62 @@ public class GatewayDataApi { @Resource - private GatewayDeviceService gatewayDeviceService; - - @Resource private GatewayRemoteManager gatewayRemoteManager; /** - * 娴嬭瘯鍏ュ彛 + * 绮儏鏁版嵁鎺ㄩ�侊紝绗笁鏂硅蒋浠跺钩鍙版帹閫佺伯鎯呮暟鎹埌缃戝叧 * - * @param param + * @param grainData * @return + * @throws Exception */ - @PostMapping("/test/deviceTest") + @PostMapping("/push-grain") public @ResponseBody - String deviceTest(@RequestBody GateWayParam param) throws Exception { + BaseResp pushGrain(@RequestBody Fz40Grain grainData) { - if (StringUtils.isEmpty(param.getBizType())) { - return "ERROR:娌℃湁鑾峰彇鍒颁笟鍔$被鍨嬶紝鎵ц澶辫触"; - } + BaseResp resp = new BaseResp(); + try { - if ("testGrain".equals(param.getBizType())) { - return testGrain(param); - } + log.info("----------涓诲姩鎺ㄩ�佺伯鎯呮帴鍙f墽琛�----{}",grainData); - if ("ajaxTestKafkaGrain".equals(param.getBizType())) { - return ajaxTestKafkaGrain(param); - } + //鏍规嵁绯荤粺浠撳簱缂栫爜鑾峰彇閰嶇疆璁惧淇℃伅 + GatewayDevice device = GatewayUtils.getCacheByDepotSysId(grainData.getDepotId()); - if ("ajaxTestWeight".equals(param.getBizType())) { - return ajaxTestWeight(param); - } - - if ("ajaxTestLpr".equals(param.getBizType())) { - 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"; - } - - /** - * 鍒濆鍖栬溅鐗岃瘑鍒� - * - * @param param - * @return - */ - @PostMapping("/control/init-lpr") - public @ResponseBody - String initLpr(@RequestBody GateWayParam param) throws Exception { - - List<GatewayDevice> list = gatewayDeviceService.listAll(); - - if (null == list || list.isEmpty()) { - return "ERROR:娌℃湁鑾峰彇鍒拌澶囦俊鎭�"; - } - - BaseReqData reqData; - int i = 0; - GatewaySyncLprService syncLprService; - for (GatewayDevice device : list) { - - if (!GatewayDeviceType.TYPE_02.getCode().equals(device.getType())) { - continue; + if (null == device) { + resp.setMsg("缃戝叧涓病鏈夎幏鍙栧埌閰嶇疆鐨勭粓绔澶囦俊鎭�,鏃犳硶鎵ц銆備粨搴撶紪鐮�=" + grainData.getDepotId()); + resp.setCode(BaseResp.CODE_500); + return resp; } - reqData = new BaseReqData(device); - reqData.setIndex(i); - syncLprService = gatewayRemoteManager.getSyncLprService(device.getSyncProtocol()); - if (null == syncLprService) continue; - syncLprService.initLpr(reqData); - i++; - } - return "SUCCESS"; - } + //鏁版嵁灏佽杞崲 + GatewayDeviceReportService reportService = gatewayRemoteManager.getDeviceReportService(device.getPushProtocol()); + if (null == reportService) { + log.error("------------绮儏鎺ㄩ�佸け璐ワ紝绯荤粺涓嶅瓨鍦ㄥ綋鍓嶅崗璁墽琛岀被----{}", device.getDeviceName()); + resp.setMsg("绮儏鎺ㄩ�佸け璐ワ紝绯荤粺涓嶅瓨鍦ㄥ綋鍓嶅崗璁墽琛岀被锛岀綉鍏宠澶�=" + device.getDeviceName()); + resp.setCode(BaseResp.CODE_500); + return resp; + } - private String testGrain(GateWayParam param) { - String deviceId = param.getDeviceId(); + //鏁版嵁灏佽 + resp = reportService.grainData2GatewayApiInfo(grainData, device); - GatewayDevice device = GatewayUtils.getCacheByDeviceId(deviceId); + BaseReqData reqData = new BaseReqData(); + reqData.setProductId(device.getProductId()); + reqData.setDeviceName(device.getDeviceName()); + reqData.setDeviceId(device.getDeviceId()); - BaseReqData reqData = new BaseReqData(); - reqData.setDeviceId(device.getDeviceId()); - reqData.setProductId(device.getProductId()); - reqData.setDeviceName(device.getDeviceName()); - reqData.setDevice(device); - reqData.setAutoReplay(true); - - if (!GatewayDeviceType.TYPE_07.getCode().equals(device.getType())) { - return "ERROR锛氬綋鍓嶈澶囬潪绮儏璁惧涓嶆敮鎸佸綋鍓嶆搷浣�"; - } - - if (StringUtils.isEmpty(device.getCableRule())) { - return "ERROR锛氬綋鍓嶈澶囨病鏈夐厤缃竷绾胯鍒欙紝鏃犳硶鎵ц"; - } - - 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.setDevice(device); reqData.setData(resp.getData()); - gatewayRemoteManager.getDeviceReportService(device.getPushProtocol()).reportGrainData(reqData); + + //鎵嬪姩鎺ㄩ�佸埌骞冲彴 + resp = reportService.reportGrainDataByHand(reqData); + + } catch (Exception e) { + log.error("-----------鎵嬪姩鎺ㄩ�佺伯鎯呮暟鎹墽琛屽紓甯�---{}", e); + resp.setCode(BaseResp.CODE_500); + resp.setMsg("鎵ц寮傚父:" + e.getMessage()); } - - return "SUCCESS"; - } - - - /** - * 绮儏鎺ㄩ�佹祴璇昁AFKA鏂瑰紡 - * - * @param param - * @return - */ - public String ajaxTestKafkaGrain(GateWayParam param) throws Exception { - List<GatewayDevice> list = gatewayDeviceService.listAll(); - if (null == list || list.isEmpty()) { - return "ERROR锛氫负鑾峰彇鍒扮郴缁熶腑璁惧閰嶇疆锛屽彇娑堟墽琛�"; - } - - BaseReqData reqData; - BaseResp resp; - for (GatewayDevice device : list) { - reqData = new BaseReqData(); - reqData.setDeviceId(param.getDeviceId()); - reqData.setDayTime(param.getDayTime()); - reqData.setDevice(device); - - resp = gatewayRemoteManager.getGatewayTestService(device.getPushProtocol()).testGrainKafka(reqData); - - //鑷姩鎺ㄩ�� - if (BaseResp.CODE_200 == resp.getCode()) { - reqData.setData(resp.getData()); - gatewayRemoteManager.getDeviceReportService(device.getPushProtocol()).reportGrainDataByKafka(reqData); - } - } - - return "SUCCESS"; - } - - /** - * 鍦扮鎺ㄩ�佹祴璇� - * - * @param param - * @return - */ - public String ajaxTestWeight(GateWayParam param) throws Exception { - - double weight = param.getWeight(); - - List<GatewayDevice> list = gatewayDeviceService.listAll(); - if (list == null || list.size() <= 0) { - return "ERROR锛氭病鏈夐厤缃澶囦俊鎭紝鎵ц澶辫触"; - } - - List<GatewayDevice> weights = list.stream().filter(s -> (GatewayDeviceType.TYPE_01.getCode().equals(s.getType()))).collect(Collectors.toList()); - if (weights == null || weights.size() <= 0) { - return "ERROR锛欵RROR锛氭病鏈夐厤缃澶囦俊鎭紝鎵ц澶辫触"; - } - - BaseReqData reqData; - BaseResp resp; - for (GatewayDevice device : weights) { - reqData = new BaseReqData(); - reqData.setDeviceId(device.getDeviceId()); - reqData.setProductId(device.getProductId()); - reqData.setDeviceName(device.getDeviceName()); - reqData.setDevice(device); - reqData.setAutoReplay(true); - reqData.setWeight(weight); - resp = gatewayRemoteManager.getGatewayTestService(device.getPushProtocol()).testWeight(reqData); - - //鑷姩鎺ㄩ�� - if (BaseResp.CODE_200 == resp.getCode() && reqData.isAutoReplay()) { - reqData.setData(resp.getData()); - gatewayRemoteManager.getDeviceReportService(device.getPushProtocol()).reportWeightData(reqData); - } - } - return "SUCCESS"; - } - - /** - * 鍦扮鎺ㄩ�佹祴璇� - * - * @return - */ - public String ajaxTestLpr(GateWayParam param) throws Exception { - - String carNumber = param.getCarNumber(); - - List<GatewayDevice> list = gatewayDeviceService.listAll(); - if (list == null || list.size() <= 0) { - log.error("ERROR锛氭病鏈夐厤缃澶囦俊鎭紝鎵ц澶辫触"); - return "ERROR锛氭病鏈夐厤缃澶囦俊鎭紝鎵ц澶辫触"; - } - List<GatewayDevice> weights = list.stream().filter(s -> (GatewayDeviceType.TYPE_02.getCode().equals(s.getType()))).collect(Collectors.toList()); - if (weights == null || weights.size() <= 0) { - log.error("ERROR锛氭病鏈夐厤缃澶囦俊鎭紝鎵ц澶辫触"); - return "ERROR锛氭病鏈夐厤缃澶囦俊鎭紝鎵ц澶辫触"; - } - - BaseReqData reqData; - BaseResp resp; - for (GatewayDevice device : weights) { - reqData = new BaseReqData(); - reqData.setDeviceId(device.getDeviceId()); - reqData.setProductId(device.getProductId()); - reqData.setDeviceName(device.getDeviceName()); - reqData.setDevice(device); - reqData.setAutoReplay(true); - reqData.setCarNumber(carNumber); - resp = gatewayRemoteManager.getGatewayTestService(device.getPushProtocol()).testLpr(reqData); - - //鑷姩鎺ㄩ�� - if (BaseResp.CODE_200 == resp.getCode() && reqData.isAutoReplay()) { - reqData.setData(resp.getData()); - gatewayRemoteManager.getDeviceReportService(device.getPushProtocol()).reportLprData(reqData); - } - } - return "SUCCESS"; + return resp; } } -- Gitblit v1.9.3