From c8a4f3f8327b4a2290d719503211adb8845e6fd8 Mon Sep 17 00:00:00 2001 From: vince <757871790@qq.com> Date: 星期二, 19 十二月 2023 14:37:08 +0800 Subject: [PATCH] 优化代码,增加仓温仓湿度 --- src/main/java/com/fzzy/gateway/hx2023/service/ScGatewayTestServiceImpl.java | 76 +++++++++++++++++++++++--------------- 1 files changed, 46 insertions(+), 30 deletions(-) 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 7cfcb3e..705d6a6 100644 --- a/src/main/java/com/fzzy/gateway/hx2023/service/ScGatewayTestServiceImpl.java +++ b/src/main/java/com/fzzy/gateway/hx2023/service/ScGatewayTestServiceImpl.java @@ -1,12 +1,13 @@ package com.fzzy.gateway.hx2023.service; import com.alibaba.fastjson2.JSONObject; +import com.fzzy.api.data.GatewayDeviceType; import com.fzzy.api.data.PushProtocol; import com.fzzy.api.utils.DateUtil; import com.fzzy.api.utils.NumberUtil; import com.fzzy.async.fzzy40.Fzzy40CommonService; import com.fzzy.async.fzzy40.entity.Fz40Grain; -import com.fzzy.gateway.api.GatewayDeviceReportService; +import com.fzzy.gateway.GatewayUtils; import com.fzzy.gateway.api.GatewayDeviceTestService; import com.fzzy.gateway.data.BaseReqData; import com.fzzy.gateway.data.BaseResp; @@ -17,6 +18,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.time.DateFormatUtils; +import org.apache.commons.lang3.RandomUtils; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -234,6 +236,8 @@ public BaseResp testLpr(BaseReqData reqData) { + GatewayDevice device = reqData.getDevice(); + WebSocketPacket packet = new WebSocketPacket(); WebSocketPacketHeader header = new WebSocketPacketHeader(); header.setDeviceName(reqData.getDeviceName()); @@ -249,7 +253,7 @@ lpr.setCarNumber(reqData.getCarNumber()); JSONObject jsonObject = new JSONObject(); jsonObject.put("carNumber", reqData.getCarNumber()); - jsonObject.put("position", "big"); + jsonObject.put("position", device.getPosition()); packet.setProperties(jsonObject); packet.setTimestamp(System.currentTimeMillis()); @@ -268,15 +272,16 @@ WeatherWebDto weather = WeatherWebDto.contextMap.get("default"); - double tMIn = 20, tMax = 25; + double tMIn = 10, tMax = 15; if (null != weather) { double tOut = Double.valueOf(weather.getTem()); - tMIn = tOut - 4; - if (tMIn < 4) tMIn = 5; - tMax = tOut + 0; - if (tMax < 15) tMax = 15; + tMIn = tOut - 5; + tMax = tOut; } - + if (tMIn < 10) tMIn = 10; + if (tMIn > 20) tMIn = 20; + if (tMax < 15) tMax = 15; + if (tMax > 25) tMax = 25; //鏁版嵁灏佽 GrainData grain = new GrainData(); @@ -288,7 +293,7 @@ headers.setDeviceName(device.getDeviceName()); headers.setProductId(device.getProductId()); headers.setOrgId(device.getOrgId()); - headers.setMsgId(ScConstant.getMessageId()); + headers.setMsgId(reqData.getMessageId()); grain.setHeaders(headers); GrainOutPut outPut = new GrainOutPut(); @@ -306,24 +311,22 @@ double randomNumber = tMIn; int x = 0, y = 0, z = 0; for (int i = 0; i < sumNum; i++) { - if ((i) % Integer.valueOf(cableRule[0]) == 0) { - randomNumber = Math.random() * (tMax - tMIn + 1) + tMIn; - - } else if ((i) % Integer.valueOf(cableRule[0]) == 1) { - randomNumber = Math.random() * (tMax - tMIn + 1) + tMIn; - - } else if ((i) % Integer.valueOf(cableRule[0]) == 2) { - randomNumber = Math.random() * (tMax - tMIn + 1) + tMIn; - - } else if ((i) % Integer.valueOf(cableRule[0]) == 3) { - randomNumber = Math.random() * (tMax - tMIn + 1) + tMIn; - - } else if ((i) % Integer.valueOf(cableRule[0]) == 4) { - randomNumber = Math.random() * (tMax - tMIn + 1) + tMIn; - - } else { - randomNumber = Math.random() * (tMax - tMIn + 1) + tMIn; - + log.info("i=锛�" + i); + if (i % cableZ == 0) { + randomNumber = RandomUtils.nextDouble(tMIn, tMax+1.5); + log.info("绗�1灞傛俯搴︼細" + randomNumber); + } 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); + log.info("绗�3灞傛俯搴︼細" + randomNumber); + } 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); + log.info("绗�5灞傛俯搴︼細" + randomNumber); } // randomNumber = Math.random() * (tMax - tMIn + 1) + tMIn; curTemp = NumberUtil.keepPrecision(randomNumber, 1); @@ -340,13 +343,26 @@ } outPut.setTemperature(temperature); + List<GrainTH> ths = new ArrayList<>(); - grain.setOutPut(outPut); + ths.add(new GrainTH(weather.getTem()!=null?weather.getTem()+"":"",weather.getHumidity()!=null?weather.getHumidity()+"":"","1")); + outPut.setTemperatureAndhumidity(ths); + + grain.setOutput(JSONObject.toJSONString(outPut)); + + + GatewayDevice gatewayDeviceWeather = GatewayUtils.getCacheByDeviceTypeOne(GatewayDeviceType.TYPE_09.getCode()); //姘旇薄淇℃伅 GrainWeather weatherStation = new GrainWeather(); weatherStation.setMessageId(ScConstant.getMessageId()); - weatherStation.setId(device.getDeviceId()); + weatherStation.setMessgeId(weatherStation.getMessageId()); + + if (null != gatewayDeviceWeather) { + weatherStation.setId(gatewayDeviceWeather.getDeviceId()); + } else { + weatherStation.setId(device.getDeviceId()); + } weatherStation.setAirPressure(weather.getPressure()); weatherStation.setHumidity(weather.getHumidity()); weatherStation.setPm(weather.getAir_pm25()); @@ -356,7 +372,7 @@ weatherStation.setWindDirection(weather.getWin()); weatherStation.setWindPower(weather.getWin_meter()); weatherStation.setWindSpeed(weather.getWin_speed()); - grain.setWeatherStation(weatherStation); + grain.setWeatherStation(JSONObject.toJSONString(weatherStation)); return new BaseResp(JSONObject.toJSONString(grain)); } -- Gitblit v1.9.3