Procházet zdrojové kódy

修改 只有甘肃爬全省。黑龙江和浙江只爬几个固定的市

xiaowang před 2 týdny
rodič
revize
476eb450a6

+ 4 - 3
src/main/java/com/example/getweather/service/GetWeather.java

@@ -60,7 +60,7 @@ public class GetWeather {
                 districtCodeDO.setLng(!Objects.equals(e.getStr("lng"), "") && e.getStr("lng") != null ? new BigDecimal(e.getStr("lng")).setScale(6, RoundingMode.HALF_UP).doubleValue() : 0d);
                 districtCodeDOList.add(districtCodeDO);
             }
-            String jdbcUrl = "jdbc:TAOS://192.168.12.241:29501/etadm_local?user=root&password=taosdata";
+            String jdbcUrl = "jdbc:TAOS://192.168.12.241:29500/etadm_local?user=root&password=taosdata";
             Properties connProps = new Properties();
             connProps.setProperty(TSDBDriver.PROPERTY_KEY_CHARSET, "UTF-8");
             connProps.setProperty(TSDBDriver.PROPERTY_KEY_LOCALE, "en_US.UTF-8");
@@ -207,7 +207,7 @@ public class GetWeather {
                 districtCodeDO.setLng(!Objects.equals(e.getStr("lng"), "") && e.getStr("lng") != null ? new BigDecimal(e.getStr("lng")).setScale(6, RoundingMode.HALF_UP).doubleValue() : 0d);
                 districtCodeDOList.add(districtCodeDO);
             }
-            String jdbcUrl = "jdbc:TAOS://192.168.12.241:29501/etadm_local?user=root&password=taosdata";
+            String jdbcUrl = "jdbc:TAOS://192.168.12.241:29500/etadm_local?user=root&password=taosdata";
             Properties connProps = new Properties();
             connProps.setProperty(TSDBDriver.PROPERTY_KEY_CHARSET, "UTF-8");
             connProps.setProperty(TSDBDriver.PROPERTY_KEY_LOCALE, "en_US.UTF-8");
@@ -233,7 +233,8 @@ public class GetWeather {
                         isApiQuotaExhausted = analysis(caiyun, q.getCode(), q.getName(), conn); // 传递标志变量
                         if (isApiQuotaExhausted) break; // 检查标志变量
                         //线程睡5秒 防止请求过快
-                        Thread.sleep(5000);
+                        //花钱了 硬气 不管他
+                        //Thread.sleep(5000);
                     }
                 }
             }

+ 42 - 17
src/main/java/com/example/getweather/service/GetWeatherXmo.java

@@ -91,7 +91,7 @@ public class GetWeatherXmo {
                 districtCodeDO.setLng(!Objects.equals(e.getStr("lng"), "") && e.getStr("lng") != null ? new BigDecimal(e.getStr("lng")).setScale(6, RoundingMode.HALF_UP).doubleValue() : 0d);
                 districtCodeDOList.add(districtCodeDO);
             }
-            String jdbcUrl = "jdbc:TAOS://192.168.12.241:29501/etadm_local?user=root&password=taosdata";
+            String jdbcUrl = "jdbc:TAOS://192.168.12.241:29500/etadm_local?user=root&password=taosdata";
             Properties connProps = new Properties();
             connProps.setProperty(TSDBDriver.PROPERTY_KEY_CHARSET, "UTF-8");
             connProps.setProperty(TSDBDriver.PROPERTY_KEY_LOCALE, "en_US.UTF-8");
@@ -99,25 +99,50 @@ public class GetWeatherXmo {
             Connection conn = DriverManager.getConnection(jdbcUrl, connProps);
             //省份
             for (String code : areaCodes) {
-                if (isApiQuotaExhausted) break; // 检查标志变量
-                List<DistrictCodeDO> shiList = districtCodeDOList.stream().filter(item -> item.getPid().toString().equals(code)).collect(Collectors.toList());
-                //市
-                for (DistrictCodeDO d : shiList) {
-                    if (isApiQuotaExhausted) break; // 检查标志变量
-                    List<DistrictCodeDO> quList = districtCodeDOList.stream().filter(item -> item.getPid().toString().equals(d.getCode().toString())).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 (code.equals("620000")) {
+                 /*   if (isApiQuotaExhausted) break; // 检查标志变量
+                    List<DistrictCodeDO> shiList = districtCodeDOList.stream().filter(item -> item.getPid().toString().equals(code)).collect(Collectors.toList());
+                    //市
+                    for (DistrictCodeDO d : shiList) {
                         if (isApiQuotaExhausted) break; // 检查标志变量
+                        List<DistrictCodeDO> quList = districtCodeDOList.stream().filter(item -> item.getPid().toString().equals(d.getCode().toString())).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, q.getCode(), q.getName(), conn); // 传递标志变量
+                        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=" + 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, q.getCode(), q.getName(), conn); // 传递标志变量
+                            if (isApiQuotaExhausted) break; // 检查标志变量
+                        }
+                    }*/
+                } else if (code.equals("230000")) {
+                    //黑龙江 只爬哈尔滨,牡丹江市,鸡西市,七台河市,齐齐哈尔市,绥化市
+                    List<DistrictCodeDO> shiList = districtCodeDOList.stream().filter(item -> item.getPid().toString().equals(code)).collect(Collectors.toList());
+                    shiList = shiList.stream().filter(item -> item.getCode().toString().equals("230100") || item.getCode().toString().equals("231000") || item.getCode().toString().equals("230300") || item.getCode().toString().equals("230900") || item.getCode().toString().equals("230200") || item.getCode().toString().equals("231200")).collect(Collectors.toList());
+                    for (DistrictCodeDO d : shiList) {
+                        if (isApiQuotaExhausted) break; // 检查标志变量
+                        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; // 检查标志变量
+                    }
+                } else {
+                    //浙江 只爬宁波、杭州、嘉兴、湖州
+                    List<DistrictCodeDO> shiList = districtCodeDOList.stream().filter(item -> item.getPid().toString().equals(code)).collect(Collectors.toList());
+                    shiList = shiList.stream().filter(item -> item.getCode().toString().equals("330200") || item.getCode().toString().equals("330100") || item.getCode().toString().equals("330400") || item.getCode().toString().equals("330500")).collect(Collectors.toList());
+                    for (DistrictCodeDO d : shiList) {
+                        if (isApiQuotaExhausted) break; // 检查标志变量
+                        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; // 检查标志变量
-                        //线程睡5秒 防止请求过快
-                        Thread.sleep(5000);
                     }
                 }
             }

+ 4 - 3
src/main/java/com/example/getweather/service/XmoComplements.java

@@ -93,7 +93,7 @@ public class XmoComplements {
                 districtCodeDO.setLng(!Objects.equals(e.getStr("lng"), "") && e.getStr("lng") != null ? new BigDecimal(e.getStr("lng")).setScale(6, RoundingMode.HALF_UP).doubleValue() : 0d);
                 districtCodeDOList.add(districtCodeDO);
             }
-            String jdbcUrl = "jdbc:TAOS://192.168.12.241:29501/etadm_local?user=root&password=taosdata";
+            String jdbcUrl = "jdbc:TAOS://192.168.12.241:29500/etadm_local?user=root&password=taosdata";
             Properties connProps = new Properties();
             connProps.setProperty(TSDBDriver.PROPERTY_KEY_CHARSET, "UTF-8");
             connProps.setProperty(TSDBDriver.PROPERTY_KEY_LOCALE, "en_US.UTF-8");
@@ -119,7 +119,8 @@ public class XmoComplements {
                         isApiQuotaExhausted = analysis(xmoUrl, q.getCode(), q.getName(), conn); // 传递标志变量
                         if (isApiQuotaExhausted) break; // 检查标志变量
                         //线程睡5秒 防止请求过快
-                        Thread.sleep(5000);
+                        //花钱了 硬气 不管他
+                        //Thread.sleep(5000);
                     }
                 }
             }
@@ -273,7 +274,7 @@ public class XmoComplements {
     public void cal() {
 
         try {
-            String jdbcUrl = "jdbc:TAOS://192.168.12.241:29501/etadm_local?user=root&password=taosdata";
+            String jdbcUrl = "jdbc:TAOS://192.168.12.241:29500/etadm_local?user=root&password=taosdata";
             Properties connProps = new Properties();
             connProps.setProperty(TSDBDriver.PROPERTY_KEY_CHARSET, "UTF-8");
             connProps.setProperty(TSDBDriver.PROPERTY_KEY_LOCALE, "en_US.UTF-8");