From d454e51e06dbf7beb50551588fc58a5810295d7c Mon Sep 17 00:00:00 2001 From: jiazx0107@163.com <jiazx0107@163.com> Date: 星期一, 01 一月 2024 19:28:22 +0800 Subject: [PATCH] 调整KFKA数据推送测试。 --- src/main/java/com/fzzy/gateway/hx2023/data/KafaGrainData.java | 2 src/main/java/com/fzzy/gateway/controller/GatewayDataApi.java | 397 ++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java | 5 src/main/java/com/fzzy/gateway/hx2023/data/TRHInfo.java | 2 src/main/java/com/fzzy/gateway/hx2023/kafka/KafkaDeviceReportService.java | 3 src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1302Rep.java | 2 src/main/java/com/fzzy/gateway/hx2023/service/DeviceReportServiceImpl.java | 12 + src/main/java/com/fzzy/gateway/hx2023/service/ScGatewayTestServiceImpl.java | 96 ++++----- 8 files changed, 461 insertions(+), 58 deletions(-) diff --git a/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1302Rep.java b/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1302Rep.java index 5c2adf2..96727be 100644 --- a/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1302Rep.java +++ b/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1302Rep.java @@ -35,6 +35,6 @@ * @param end * @return */ - @Query("from Fz40Grain where depotId =:depotId and receiveDate >=:start and receiveDate <:end order by receiveDate ") + @Query("from Fz40Grain where depotId =:depotId and receiveDate >=:start and receiveDate <:end order by receiveDate desc ") List<Fz40Grain> findByReceiveDate(@Param("depotId") String depotId, @Param("start") Date start, @Param("end") Date end); } diff --git a/src/main/java/com/fzzy/gateway/controller/GatewayDataApi.java b/src/main/java/com/fzzy/gateway/controller/GatewayDataApi.java new file mode 100644 index 0000000..06ec61d --- /dev/null +++ b/src/main/java/com/fzzy/gateway/controller/GatewayDataApi.java @@ -0,0 +1,397 @@ +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; +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; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.annotation.Resource; +import java.util.List; +import java.util.stream.Collectors; + + +/** + * 涓庣綉鍏崇浉鍏崇殑鎺ュ彛鏁版嵁瀵规帴锛岀敱绗笁鏂瑰鎺� + */ +@Slf4j +@Controller +@RequestMapping("/gateway/api/v1") +public class GatewayDataApi { + + @Resource + private GatewayDeviceService gatewayDeviceService; + + @Resource + private GatewayRemoteManager gatewayRemoteManager; + + + /** + * 娴嬭瘯鍏ュ彛 + * + * @param param + * @return + */ + @PostMapping("/test/deviceTest") + public @ResponseBody + String deviceTest(@RequestBody GateWayParam param) throws Exception { + + if (StringUtils.isEmpty(param.getBizType())) { + return "ERROR:娌℃湁鑾峰彇鍒颁笟鍔$被鍨嬶紝鎵ц澶辫触"; + } + + if ("testGrain".equals(param.getBizType())) { + return testGrain(param); + } + + if ("ajaxTestKafkaGrain".equals(param.getBizType())) { + return ajaxTestKafkaGrain(param); + } + + 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; + } + reqData = new BaseReqData(device); + reqData.setIndex(i); + syncLprService = gatewayRemoteManager.getSyncLprService(device.getSyncProtocol()); + if (null == syncLprService) continue; + syncLprService.initLpr(reqData); + i++; + } + + return "SUCCESS"; + } + + private String testGrain(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(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.setData(resp.getData()); + gatewayRemoteManager.getDeviceReportService(device.getPushProtocol()).reportGrainData(reqData); + } + + 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"; + } +} diff --git a/src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java b/src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java index c0612b4..a533499 100644 --- a/src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java +++ b/src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java @@ -296,6 +296,11 @@ BaseReqData reqData; BaseResp resp; for (GatewayDevice device : list) { + + //濡傛灉涓嶆槸绮儏鍒嗘満璺宠繃 + if (!GatewayDeviceType.TYPE_07.getCode().equals(device.getType())) { + continue; + } reqData = new BaseReqData(); reqData.setDeviceId(param.getDeviceId()); reqData.setDayTime(param.getDayTime()); diff --git a/src/main/java/com/fzzy/gateway/hx2023/data/KafaGrainData.java b/src/main/java/com/fzzy/gateway/hx2023/data/KafaGrainData.java index 41418f9..422b608 100644 --- a/src/main/java/com/fzzy/gateway/hx2023/data/KafaGrainData.java +++ b/src/main/java/com/fzzy/gateway/hx2023/data/KafaGrainData.java @@ -45,7 +45,5 @@ //妯″潡璇嗗埆鐮�-甯搁噺锛屽浐瀹氫紶 apiTemperature private String apISource = "apiTemperature"; - private JSONObject params; - } diff --git a/src/main/java/com/fzzy/gateway/hx2023/data/TRHInfo.java b/src/main/java/com/fzzy/gateway/hx2023/data/TRHInfo.java index 695ab11..1f31428 100644 --- a/src/main/java/com/fzzy/gateway/hx2023/data/TRHInfo.java +++ b/src/main/java/com/fzzy/gateway/hx2023/data/TRHInfo.java @@ -9,7 +9,5 @@ public class TRHInfo { private List<KafkaGrainDataDetail> temperature; - - private List<KafkaGrainTH> temperatureAndhumidity; } diff --git a/src/main/java/com/fzzy/gateway/hx2023/kafka/KafkaDeviceReportService.java b/src/main/java/com/fzzy/gateway/hx2023/kafka/KafkaDeviceReportService.java index 4b17a11..81ff5e4 100644 --- a/src/main/java/com/fzzy/gateway/hx2023/kafka/KafkaDeviceReportService.java +++ b/src/main/java/com/fzzy/gateway/hx2023/kafka/KafkaDeviceReportService.java @@ -22,6 +22,9 @@ public String publishWithTopic(String sendData, String topic) { + + + //鎺ㄩ�佷俊鎭� kafkaTemplate.send(topic, sendData).addCallback(success -> { // 娑堟伅鍙戦�佸埌鐨則opic 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 2d572be..41bc49a 100644 --- a/src/main/java/com/fzzy/gateway/hx2023/service/DeviceReportServiceImpl.java +++ b/src/main/java/com/fzzy/gateway/hx2023/service/DeviceReportServiceImpl.java @@ -44,7 +44,7 @@ topic = topic.replace("${productId}", reqData.getProductId()).replace("${deviceId}", reqData.getDeviceId()); //濡傛灉鏄祴璇曟ā寮忎笉鎵ц鎺ㄩ�� - if(configData.getActive().indexOf("dev")>=0){ + if (configData.getActive().indexOf("dev") >= 0) { log.info("----------------------------鎺ㄩ�丮QTT绮儏淇℃伅锛屾敞锛氳皟璇曟ā寮忎笉鎺ㄩ��---------------------------"); log.info("-----TOPIC-----{}", topic); @@ -146,6 +146,16 @@ @Override public BaseResp reportGrainDataByKafka(BaseReqData reqData) { String topic = ScConstant.TOPIC_MESSAGE_REPORT; + //濡傛灉鏄祴璇曟ā寮忎笉鎵ц鎺ㄩ�� + 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(); } diff --git a/src/main/java/com/fzzy/gateway/hx2023/service/ScGatewayTestServiceImpl.java b/src/main/java/com/fzzy/gateway/hx2023/service/ScGatewayTestServiceImpl.java index 705d6a6..2b1a156 100644 --- a/src/main/java/com/fzzy/gateway/hx2023/service/ScGatewayTestServiceImpl.java +++ b/src/main/java/com/fzzy/gateway/hx2023/service/ScGatewayTestServiceImpl.java @@ -22,9 +22,7 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; @Slf4j @Component @@ -63,8 +61,6 @@ } private BaseResp pushByV40(BaseReqData reqData, Date start, Date end) { - - GatewayDevice device = reqData.getDevice(); String depotIdSys = device.getDepotIdSys(); @@ -75,12 +71,12 @@ List<Fz40Grain> listGrain = fzzy40CommonService.listGrain(depotIdSys, start, end); if (null == listGrain || listGrain.isEmpty()) { - log.error("---------璁惧---{}--鏈悓姝ュ埌绮儏淇℃伅锛岃纭褰撳墠鏉′欢涓嬫槸鍚︽湁鏁版嵁", device.getDeviceName()); + log.error("---------璁惧-{}-绯荤粺浠撳簱缂栫爜-{}-鏈悓姝ュ埌绮儏淇℃伅锛岃纭褰撳墠鏉′欢涓嬫槸鍚︽湁鏁版嵁", device.getDeviceName(), device.getDepotIdSys()); return new BaseResp(BaseResp.CODE_50, "鏈悓姝ュ埌绮儏淇℃伅锛岃纭褰撳墠鏉′欢涓嬫槸鍚︽湁鏁版嵁"); } - //鑾峰彇鏈�鍚庝竴鏉$伯鎯呬綔涓哄綋鍓嶆暟鎹� - Fz40Grain lastData = listGrain.get(listGrain.size() - 1); + //鑾峰彇绗竴鏉℃暟鎹墽琛屾帹閫� + Fz40Grain lastData = listGrain.get(0); KafaGrainData pushData = this.lastData2PushData(lastData, device); return new BaseResp(JSONObject.toJSONString(pushData)); @@ -89,26 +85,24 @@ /** * 灏嗙伯鎯呮暟鎹浆鎹负鎺ㄩ�侀渶瑕佺殑鏁版嵁鏍煎紡 * - * @param lastData + * @param grainData * @return */ - private KafaGrainData lastData2PushData(Fz40Grain lastData, GatewayDevice device) { + private KafaGrainData lastData2PushData(Fz40Grain grainData, GatewayDevice device) { KafaGrainData result = new KafaGrainData(); result.setMessageId(ScConstant.getMessageId()); result.setMessgeId(result.getMessageId()); result.setDeviceID(device.getDeviceId()); - result.setAvgTemperature(lastData.getTempAve() + ""); - result.setMinTemperature(lastData.getTempMin() + ""); - result.setMaxTemperature(lastData.getTempMax() + ""); - result.setCollectTime(DateFormatUtils.format(lastData.getReceiveDate(), "yyyy-MM-dd HH:mm:ss")); + result.setAvgTemperature(grainData.getTempAve() + ""); + result.setMinTemperature(grainData.getTempMin() + ""); + result.setMaxTemperature(grainData.getTempMax() + ""); + result.setCollectTime(DateFormatUtils.format(grainData.getReceiveDate(), "yyyy-MM-dd HH:mm:ss")); //灞�-琛�-鍒� - String[] attrCable = lastData.getCable().split("-"); - - - if (StringUtils.isNotEmpty(lastData.getCableCir())) { - return lastData2PushData2(lastData, device); + String[] attrCable = grainData.getCable().split("-"); + if (StringUtils.isNotEmpty(grainData.getCableCir())) { + return lastData2PushData2(grainData, device); } //灞傝鍒� @@ -117,53 +111,51 @@ int cableX = Integer.valueOf(attrCable[2]); //娓╁害闆嗗悎 - String[] attr = lastData.getPoints().split(","); + String[] attr = grainData.getPoints().split(","); //鏍瑰彿 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.length; 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[i]; - //鍒ゆ柇鏈�澶� - if (curTemp.equals(result.getMaxTemperature())) { - result.setMaxX(x + ""); - result.setMaxY(y + ""); - result.setMaxZ(position + ""); - } + //濡傛灉鏄紓甯稿��,鎵ц璋冩暣鏁版嵁 TODO + if (Double.valueOf(curTemp) < -99.9) { + curTemp = grainData.getTempAve() + ""; - //鍒ゆ柇鏈�灏� - if (curTemp.equals(result.getMinTemperature())) { - result.setMinX(x + ""); - result.setMinY(y + ""); - result.setMinZ(position + ""); + } 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); @@ -171,10 +163,10 @@ //浠撴俯搴︿俊鎭� KafkaGrainTH grainTH = new KafkaGrainTH(); - grainTH.setHumidity(lastData.getHumidityIn() + ""); - grainTH.setTemperature(lastData.getTempIn() + ""); - grainTH.setAirHumidity(lastData.getHumidityOut() + ""); - grainTH.setAirTemperature(lastData.getTempOut() + ""); + grainTH.setHumidity(grainData.getHumidityIn() + ""); + grainTH.setTemperature(grainData.getTempIn() + ""); + grainTH.setAirHumidity(grainData.getHumidityOut() + ""); + grainTH.setAirTemperature(grainData.getTempOut() + ""); List<KafkaGrainTH> temperatureAndhumidity = new ArrayList<>(); temperatureAndhumidity.add(grainTH); @@ -313,19 +305,19 @@ for (int i = 0; i < sumNum; i++) { log.info("i=锛�" + i); if (i % cableZ == 0) { - randomNumber = RandomUtils.nextDouble(tMIn, tMax+1.5); + randomNumber = RandomUtils.nextDouble(tMIn, tMax + 1.5); log.info("绗�1灞傛俯搴︼細" + randomNumber); - } else if (i % cableZ == 1) { - randomNumber = RandomUtils.nextDouble(tMIn-1, tMax-0); + } else if (i % cableZ == 1) { + randomNumber = RandomUtils.nextDouble(tMIn - 1, tMax - 0); log.info("绗�2灞傛俯搴︼細" + randomNumber); - } else if (i % cableZ == 2) { - randomNumber = RandomUtils.nextDouble(tMIn-2, tMax-1.5); + } else if (i % cableZ == 2) { + randomNumber = RandomUtils.nextDouble(tMIn - 2, tMax - 1.5); log.info("绗�3灞傛俯搴︼細" + randomNumber); - } else if (i % cableZ == 3) { - randomNumber = RandomUtils.nextDouble(tMIn-3, tMax-3); + } else if (i % cableZ == 3) { + randomNumber = RandomUtils.nextDouble(tMIn - 3, tMax - 3); log.info("绗�4灞傛俯搴︼細" + randomNumber); - } else if (i % cableZ == 4) { - randomNumber = RandomUtils.nextDouble(tMIn-4, tMax-4.5); + } else if (i % cableZ == 4) { + randomNumber = RandomUtils.nextDouble(tMIn - 4, tMax - 4.5); log.info("绗�5灞傛俯搴︼細" + randomNumber); } // randomNumber = Math.random() * (tMax - tMIn + 1) + tMIn; @@ -345,7 +337,7 @@ outPut.setTemperature(temperature); List<GrainTH> ths = new ArrayList<>(); - ths.add(new GrainTH(weather.getTem()!=null?weather.getTem()+"":"",weather.getHumidity()!=null?weather.getHumidity()+"":"","1")); + ths.add(new GrainTH(weather.getTem() != null ? weather.getTem() + "" : "", weather.getHumidity() != null ? weather.getHumidity() + "" : "", "1")); outPut.setTemperatureAndhumidity(ths); grain.setOutput(JSONObject.toJSONString(outPut)); -- Gitblit v1.9.3