- 在定时任务中增加首次同步判断,若没有历史数据则从最早的气象站记录开始同步 - 新增获取最早气象站数据时间的方法,用于确定历史同步起点 - 添加按地区编码和时间范围批量查询气象数据的方法,优化数据获取性能 - 更新.gitignore文件,排除CLAUDE.md文件
102 lines
5.4 KiB
XML
102 lines
5.4 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
|
<!-- namespace 必须 = Mapper 接口全类名 -->
|
|
<mapper namespace="com.southern.power.grid.dao.RegionalWeatherStationMapper">
|
|
|
|
<resultMap id="BaseResultMap" type="com.southern.power.grid.entity.RegionalWeatherStation">
|
|
<id column="id" property="id"/>
|
|
<result column="data_time" property="dataTime"/>
|
|
<result column="station_id" property="stationId"/>
|
|
<result column="station_name" property="stationName"/>
|
|
<result column="station_pressure" property="stationPressure"/>
|
|
<result column="hourly_max_pressure" property="hourlyMaxPressure"/>
|
|
<result column="hourly_min_pressure" property="hourlyMinPressure"/>
|
|
<result column="temperature" property="temperature"/>
|
|
<result column="hourly_max_temperature" property="hourlyMaxTemperature"/>
|
|
<result column="hourly_min_temperature" property="hourlyMinTemperature"/>
|
|
<result column="dew_point_temperature" property="dewPointTemperature"/>
|
|
<result column="relative_humidity" property="relativeHumidity"/>
|
|
<result column="water_vapor_pressure" property="waterVaporPressure"/>
|
|
<result column="hourly_precipitation" property="hourlyPrecipitation"/>
|
|
<result column="daily_precipitation" property="dailyPrecipitation"/>
|
|
<result column="wind_direction_2min" property="windDirection2min"/>
|
|
<result column="wind_speed_2min" property="windSpeed2min"/>
|
|
<result column="wind_direction_10min" property="windDirection10min"/>
|
|
<result column="wind_speed_10min" property="windSpeed10min"/>
|
|
<result column="max_wind_direction_hourly" property="maxWindDirectionHourly"/>
|
|
<result column="max_wind_speed_hourly" property="maxWindSpeedHourly"/>
|
|
<result column="instantaneous_wind_direction" property="instantaneousWindDirection"/>
|
|
<result column="instantaneous_wind_speed" property="instantaneousWindSpeed"/>
|
|
<result column="extreme_wind_direction_hourly" property="extremeWindDirectionHourly"/>
|
|
<result column="extreme_wind_speed_hourly" property="extremeWindSpeedHourly"/>
|
|
<result column="extreme_wind_time_hourly" property="extremeWindTimeHourly"/>
|
|
<result column="min_visibility_hourly" property="minVisibilityHourly"/>
|
|
<result column="province" property="province"/>
|
|
<result column="city" property="city"/>
|
|
<result column="district" property="district"/>
|
|
<result column="latitude" property="latitude"/>
|
|
<result column="longitude" property="longitude"/>
|
|
<result column="altitude" property="altitude"/>
|
|
<result column="create_time" property="createTime"/>
|
|
<result column="import_time" property="importTime"/>
|
|
</resultMap>
|
|
|
|
<select id="selectByStationAndTimeRange" resultMap="BaseResultMap">
|
|
SELECT
|
|
id, data_time, station_id, station_name,
|
|
station_pressure, hourly_max_pressure, hourly_min_pressure,
|
|
temperature, hourly_max_temperature, hourly_min_temperature,
|
|
dew_point_temperature, relative_humidity, water_vapor_pressure,
|
|
hourly_precipitation, daily_precipitation,
|
|
wind_direction_2min, wind_speed_2min,
|
|
wind_direction_10min, wind_speed_10min,
|
|
max_wind_direction_hourly, max_wind_speed_hourly,
|
|
instantaneous_wind_direction, instantaneous_wind_speed,
|
|
extreme_wind_direction_hourly, extreme_wind_speed_hourly, extreme_wind_time_hourly,
|
|
min_visibility_hourly,
|
|
province, city, district,
|
|
latitude, longitude, altitude,
|
|
create_time, import_time
|
|
FROM regional_weather_station
|
|
WHERE station_id = #{stationId}
|
|
AND data_time >= #{startTime}
|
|
AND data_time <= #{endTime}
|
|
ORDER BY data_time
|
|
</select>
|
|
|
|
<select id="getSyncData" resultType="com.southern.power.grid.entity.RegionalWeatherStation">
|
|
select id,
|
|
data_time,
|
|
hourly_max_pressure,
|
|
hourly_min_pressure,
|
|
temperature,
|
|
hourly_max_temperature,
|
|
hourly_min_temperature,
|
|
dew_point_temperature,
|
|
relative_humidity,
|
|
hourly_precipitation,
|
|
daily_precipitation,
|
|
max_wind_direction_hourly,
|
|
max_wind_speed_hourly,
|
|
instantaneous_wind_direction,
|
|
instantaneous_wind_speed,
|
|
extreme_wind_direction_hourly,
|
|
extreme_wind_speed_hourly,
|
|
extreme_wind_time_hourly,
|
|
min_visibility_hourly,
|
|
province,
|
|
city,
|
|
district
|
|
from regional_weather_station
|
|
where data_time = #{prevHourDate}
|
|
</select>
|
|
|
|
<select id="getSyncOldDataStartDate" resultType="java.lang.String">
|
|
SELECT data_time
|
|
FROM regional_weather_station
|
|
ORDER BY data_time
|
|
LIMIT 1
|
|
</select>
|
|
</mapper> |