|
@@ -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);
|
|
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);
|
|
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();
|
|
Properties connProps = new Properties();
|
|
connProps.setProperty(TSDBDriver.PROPERTY_KEY_CHARSET, "UTF-8");
|
|
connProps.setProperty(TSDBDriver.PROPERTY_KEY_CHARSET, "UTF-8");
|
|
connProps.setProperty(TSDBDriver.PROPERTY_KEY_LOCALE, "en_US.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);
|
|
Connection conn = DriverManager.getConnection(jdbcUrl, connProps);
|
|
//省份
|
|
//省份
|
|
for (String code : areaCodes) {
|
|
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; // 检查标志变量
|
|
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;
|
|
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; // 检查标志变量
|
|
if (isApiQuotaExhausted) break; // 检查标志变量
|
|
- //线程睡5秒 防止请求过快
|
|
|
|
- Thread.sleep(5000);
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|