vince
2023-12-19 c8a4f3f8327b4a2290d719503211adb8845e6fd8
src/main/java/com/fzzy/gateway/hx2023/service/ScGatewayTestServiceImpl.java
@@ -18,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;
@@ -235,6 +236,8 @@
    public BaseResp testLpr(BaseReqData reqData) {
        GatewayDevice device = reqData.getDevice();
        WebSocketPacket packet = new WebSocketPacket();
        WebSocketPacketHeader header = new WebSocketPacketHeader();
        header.setDeviceName(reqData.getDeviceName());
@@ -250,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());
@@ -269,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();
@@ -289,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();
@@ -307,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);
@@ -341,8 +343,12 @@
        }
        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());
@@ -350,6 +356,7 @@
        //气象信息
        GrainWeather weatherStation = new GrainWeather();
        weatherStation.setMessageId(ScConstant.getMessageId());
        weatherStation.setMessgeId(weatherStation.getMessageId());
        if (null != gatewayDeviceWeather) {
            weatherStation.setId(gatewayDeviceWeather.getDeviceId());
@@ -365,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));
    }