jinpengyong
2020-08-27 f4a6f719f6c8db77443b16d5794b9b92b8d5b6ce
src/main/java/com/moral/service/impl/WeatherServiceImpl.java
@@ -285,8 +285,8 @@
        parameters.put("typeFormat", "%Y-%m-%d %H:%i:%s");
        String cityName = parameters.get("city").toString();
        Area area = areaMapper.getAreaByName(cityName);
        Integer code = 0;
        String name = "";
        Integer code;
        String name;
        if (area == null) {
            City city = cityMapper.getCityByName(cityName);
            if (city == null) {
@@ -314,7 +314,6 @@
        cal.add(Calendar.DAY_OF_MONTH, 1);
        Date end = cal.getTime();
        cal.setTime(sdf.parse(time));
        Date time1 = cal.getTime();
        cal.add(Calendar.DAY_OF_MONTH, -1);
        String beforeDay = sdf.format(cal.getTime());
        parameters.put("start", selectTime);
@@ -535,7 +534,7 @@
                if (ttime.equals(rtime)) {
                    Double tvoc = Double.valueOf(tvocMap.get("TVOC").toString());
                    BigDecimal bd = new BigDecimal(tvoc);
                    tvoc = bd.setScale(3,BigDecimal.ROUND_HALF_UP).doubleValue();
                    tvoc = bd.setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue();
                    realMap.put("TVOC", tvoc);
                }
            }
@@ -649,6 +648,7 @@
        //后4小时保良值
        double value = 160.0 * 8;
        int nowHour = Integer.valueOf(sdf1.format(now).substring(11, 13));
        int nowMinute = Integer.valueOf(sdf1.format(now).substring(14, 16));
        String format = sdf1.format(now).substring(0, 13) + ":00:00";
        if (nowHour < 8) {
            return resultList;
@@ -669,23 +669,47 @@
                    if (rhour == 0) {
                        rhour = 24;
                    }
                    if (rhour == nowHour) {
                        Map<String, Object> sumO3Map = hangzhouAqiMapper.getSumO3(hashMap);
                        double v = value - Double.valueOf(sumO3Map.get("O3Sum").toString());
                        resultMap.put("goodValue", v);
                    } else if (rhour == nowHour + 1) {
                        Map<String, Object> sumO3Map = hangzhouAqiMapper.getSumO3(hashMap);
                        double v = (value - Double.valueOf(sumO3Map.get("O3Sum").toString())) / 2;
                        resultMap.put("goodValue", String.valueOf(Math.round(v)));
                    } else if (rhour == nowHour + 2) {
                        Map<String, Object> sumO3Map = hangzhouAqiMapper.getSumO3(hashMap);
                        double v = (value - Double.valueOf(sumO3Map.get("O3Sum").toString())) / 3;
                        resultMap.put("goodValue", String.valueOf(Math.round(v)));
                    } else if (rhour == nowHour + 3) {
                        Map<String, Object> sumO3Map = hangzhouAqiMapper.getSumO3(hashMap);
                        double v = (value - Double.valueOf(sumO3Map.get("O3Sum").toString())) / 4;
                        resultMap.put("goodValue", String.valueOf(Math.round(v)));
                    if (nowMinute >= 46) {
                        if (rhour == nowHour+1) {
                            Map<String, Object> sumO3Map = hangzhouAqiMapper.getSumO3(hashMap);
                            double v = value - Double.valueOf(sumO3Map.get("O3Sum").toString());
                            resultMap.put("goodValue", v);
                        } else if (rhour == nowHour + 2) {
                            Map<String, Object> sumO3Map = hangzhouAqiMapper.getSumO3(hashMap);
                            double v = (value - Double.valueOf(sumO3Map.get("O3Sum").toString())) / 2;
                            resultMap.put("goodValue", String.valueOf(Math.round(v)));
                        } else if (rhour == nowHour + 3) {
                            Map<String, Object> sumO3Map = hangzhouAqiMapper.getSumO3(hashMap);
                            double v = (value - Double.valueOf(sumO3Map.get("O3Sum").toString())) / 3;
                            resultMap.put("goodValue", String.valueOf(Math.round(v)));
                        } else if (rhour == nowHour + 4) {
                            Map<String, Object> sumO3Map = hangzhouAqiMapper.getSumO3(hashMap);
                            double v = (value - Double.valueOf(sumO3Map.get("O3Sum").toString())) / 4;
                            resultMap.put("goodValue", String.valueOf(Math.round(v)));
                        }
                    }else {
                        if (rhour == nowHour) {
                            Map<String, Object> sumO3Map = hangzhouAqiMapper.getSumO3(hashMap);
                            double v = value - Double.valueOf(sumO3Map.get("O3Sum").toString());
                            resultMap.put("goodValue", v);
                        } else if (rhour == nowHour + 1) {
                            Map<String, Object> sumO3Map = hangzhouAqiMapper.getSumO3(hashMap);
                            double v = (value - Double.valueOf(sumO3Map.get("O3Sum").toString())) / 2;
                            resultMap.put("goodValue", String.valueOf(Math.round(v)));
                        } else if (rhour == nowHour + 2) {
                            Map<String, Object> sumO3Map = hangzhouAqiMapper.getSumO3(hashMap);
                            double v = (value - Double.valueOf(sumO3Map.get("O3Sum").toString())) / 3;
                            resultMap.put("goodValue", String.valueOf(Math.round(v)));
                        } else if (rhour == nowHour + 3) {
                            Map<String, Object> sumO3Map = hangzhouAqiMapper.getSumO3(hashMap);
                            double v = (value - Double.valueOf(sumO3Map.get("O3Sum").toString())) / 4;
                            resultMap.put("goodValue", String.valueOf(Math.round(v)));
                        }
                    }
                }
            }
            if (resultMap.get("O3C_8H") != null && !resultMap.get("O3C_8H").equals("")) {
@@ -709,12 +733,22 @@
            }
        }
        Map<String, Object> point = shAreaMapper.getLngAndLat(name);
        //地理特征
        Map<String, Object> point = shAreaMapper.getgeography(name);
        for (Map<String, Object> map : resultList) {
            double longitude = Double.valueOf(point.get("lng").toString());
            double latitude = Double.valueOf(point.get("lat").toString());
            map.put("longitude",df.format(longitude));
            map.put("latitude",df.format(latitude));
            map.put("longitude", df.format(longitude));
            map.put("latitude", df.format(latitude));
            if (point.get("altitude") != null) {
                map.put("altitude", point.get("altitude").toString());
            }
            if (point.get("vegetation") != null) {
                map.put("vegetation", point.get("vegetation").toString());
            }
            if (point.get("river") != null) {
                map.put("river", point.get("river").toString());
            }
        }
        return resultList;
    }
@@ -756,4 +790,5 @@
            }
        }
    }
}