jinpengyong
2020-08-27 f4a6f719f6c8db77443b16d5794b9b92b8d5b6ce
src/main/java/com/moral/service/impl/WeatherServiceImpl.java
@@ -648,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;
@@ -668,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("")) {
@@ -765,4 +790,5 @@
            }
        }
    }
}