Przeglądaj źródła

黑龙江小时数据接全省

xiaowang 5 dni temu
rodzic
commit
9288de8cac

+ 10 - 2
src/main/java/com/example/getweather/service/GetWeatherXmo.java

@@ -137,16 +137,24 @@ public class GetWeatherXmo {
                         if (isApiQuotaExhausted) break; // 检查标志变量
                     }
                 } else if (code.equals("230000")) {
-                    //黑龙江 只爬哈尔滨,牡丹江市,鸡西市,七台河市,齐齐哈尔市,绥化市
+                    if (isApiQuotaExhausted) break; // 检查标志变量
                     List<DistrictCodeDO> shiList = districtCodeDOList.stream().filter(item -> item.getPid().toString().equals(code)).collect(Collectors.toList());
-                    shiList = shiList.stream().filter(item -> item.getCode().equals("230100") || item.getCode().equals("231000") || item.getCode().equals("230300") || item.getCode().equals("230900") || item.getCode().equals("230200") || item.getCode().equals("231200")).collect(Collectors.toList());
+                    //市
                     for (DistrictCodeDO d : shiList) {
                         if (isApiQuotaExhausted) break; // 检查标志变量
+                        List<DistrictCodeDO> quList = districtCodeDOList.stream().filter(item -> item.getPid().toString().equals(d.getCode())).collect(Collectors.toList());
                         String xmoUrl;
                         //曦谋综合数据查询
                         xmoUrl = "https://weather-api.xm-opt.com/v1/forecast15Minutes?latitude=" + d.getLat() + "&longitude=" + d.getLng() + "&minutely_15=weather_code,temperature_2m,surface_pressure,relative_humidity_2m,precipitation,cloud_cover,wind_speed_10m,wind_direction_10m,shortwave_radiation&timezone=Asia%2FShanghai&start_date=" + startDate + "&end_date=" + endDate;
                         isApiQuotaExhausted = analysis(xmoUrl, d.getCode(), d.getName(), conn); // 传递标志变量
                         if (isApiQuotaExhausted) break; // 检查标志变量
+                        //区
+                        for (DistrictCodeDO q : quList) {
+                            if (isApiQuotaExhausted) break; // 检查标志变量
+                            xmoUrl = "https://weather-api.xm-opt.com/v1/forecast15Minutes?latitude=" + q.getLat() + "&longitude=" + q.getLng() + "&minutely_15=weather_code,temperature_2m,surface_pressure,relative_humidity_2m,precipitation,cloud_cover,wind_speed_10m,wind_direction_10m,shortwave_radiation&timezone=Asia%2FShanghai&start_date=" + startDate + "&end_date=" + endDate;
+                            isApiQuotaExhausted = analysis(xmoUrl, q.getCode(), q.getName(), conn); // 传递标志变量
+                            if (isApiQuotaExhausted) break; // 检查标志变量
+                        }
                     }
                 } else {
                     //浙江 只爬宁波、杭州、嘉兴、湖州