| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- <?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">
- <mapper namespace="com.ufo.project.weather.mapper.DataWeatherLocalMapper">
-
- <resultMap type="DataWeatherLocal" id="DataWeatherLocalResult">
- <result property="tm" column="tm" />
- <result property="configStationId" column="config_station_id" />
- <result property="irradiance" column="irradiance" />
- <result property="inclinedIrradiance" column="inclined_irradiance" />
- <result property="boardTemperature" column="board_temperature" />
- <result property="temperature" column="temperature" />
- <result property="pressure" column="pressure" />
- <result property="humidity" column="humidity" />
- <result property="windSpeed" column="wind_speed" />
- <result property="windDirection" column="wind_direction" />
- <result property="dailyIrradiance" column="daily_irradiance" />
- </resultMap>
- <sql id="selectDataWeatherLocalVo">
- select tm, config_station_id, irradiance, inclined_irradiance, temperature, pressure, humidity, wind_speed, wind_direction, board_temperature, daily_irradiance from data_weather_local
- </sql>
- <select id="selectDataWeatherLocalList" parameterType="DataWeatherLocal" resultMap="DataWeatherLocalResult">
- <include refid="selectDataWeatherLocalVo"/>
- <where>
- <if test="tm != null "> and tm = #{tm}</if>
- <if test="configStationId != null "> and config_station_id = #{configStationId}</if>
- <if test="irradiance != null "> and irradiance = #{irradiance}</if>
- <if test="inclinedIrradiance != null "> and inclined_irradiance = #{inclinedIrradiance}</if>
- <if test="temperature != null "> and temperature = #{temperature}</if>
- <if test="pressure != null "> and pressure = #{pressure}</if>
- <if test="humidity != null "> and humidity = #{humidity}</if>
- <if test="windSpeed != null "> and wind_speed = #{windSpeed}</if>
- <if test="windDirection != null "> and wind_direction = #{windDirection}</if>
- <if test="boardTemperature != null "> and board_temperature = #{boardTemperature}</if>
- <if test="dailyIrradiance != null "> and daily_irradiance = #{dailyIrradiance}</if>
- </where>
- </select>
- <!--
- tm 为 TIMESTAMPTZ,插入时已按各自来源时区归一化为 UTC 时刻存储,
- 因此与 startTime/endTime(unix秒,绝对时刻)直接按时刻比较即可,
- 不依赖任何固定时区(如 GMT+8)。to_timestamp(double precision) 以
- UTC 为基准,与会话时区无关。
- -->
- <select id="selectDataWeatherLocalListByTimeRange" resultMap="DataWeatherLocalResult">
- <include refid="selectDataWeatherLocalVo"/>
- where config_station_id = #{stationId}
- and tm >= #{startTime}
- and tm <= #{endTime}
- order by tm asc
- </select>
- <!-- 按时间范围查询天气字段(ISO 8601 格式字符串参数) -->
- <select id="selectWeatherFieldsByTimeRange" resultMap="DataWeatherLocalResult">
- select tm, config_station_id, irradiance, wind_speed, temperature, board_temperature
- from data_weather_local
- where config_station_id = #{configStationId}
- and tm >= #{startTime} and tm <= #{endTime}
- order by tm asc
- </select>
- <!-- 按日期区间查询辐照度数据(左闭右开,service 层将含截止日转换为截止日次日 00:00 传入) -->
- <select id="selectIrradianceRange" resultMap="DataWeatherLocalResult">
- <include refid="selectDataWeatherLocalVo"/>
- where config_station_id = #{configStationId}
- and tm >= #{startTime}
- and tm < #{endTime}
- order by tm asc
- </select>
- <select id="selectDataWeatherLocalByTm" parameterType="Date" resultMap="DataWeatherLocalResult">
- <include refid="selectDataWeatherLocalVo"/>
- where tm = #{tm}
- </select>
-
- <insert id="insertDataWeatherLocal" parameterType="DataWeatherLocal">
- insert into data_weather_local
- <trim prefix="(" suffix=")" suffixOverrides=",">
- <if test="tm != null">tm,</if>
- <if test="configStationId != null">config_station_id,</if>
- <if test="irradiance != null">irradiance,</if>
- <if test="inclinedIrradiance != null">inclined_irradiance,</if>
- <if test="boardTemperature != null">board_temperature,</if>
- <if test="temperature != null">temperature,</if>
- <if test="pressure != null">pressure,</if>
- <if test="humidity != null">humidity,</if>
- <if test="windSpeed != null">wind_speed,</if>
- <if test="windDirection != null">wind_direction,</if>
- <if test="dailyIrradiance != null">daily_irradiance,</if>
- </trim>
- <trim prefix="values (" suffix=")" suffixOverrides=",">
- <if test="tm != null">#{tm},</if>
- <if test="configStationId != null">#{configStationId},</if>
- <if test="irradiance != null">#{irradiance},</if>
- <if test="inclinedIrradiance != null">#{inclinedIrradiance},</if>
- <if test="boardTemperature != null">#{boardTemperature},</if>
- <if test="temperature != null">#{temperature},</if>
- <if test="pressure != null">#{pressure},</if>
- <if test="humidity != null">#{humidity},</if>
- <if test="windSpeed != null">#{windSpeed},</if>
- <if test="windDirection != null">#{windDirection},</if>
- <if test="dailyIrradiance != null">#{dailyIrradiance},</if>
- </trim>
- </insert>
- <update id="updateDataWeatherLocal" parameterType="DataWeatherLocal">
- update data_weather_local
- <trim prefix="SET" suffixOverrides=",">
- <if test="configStationId != null">config_station_id = #{configStationId},</if>
- <if test="irradiance != null">irradiance = #{irradiance},</if>
- <if test="inclinedIrradiance != null">inclined_irradiance = #{inclinedIrradiance},</if>
- <if test="boardTemperature != null">board_temperature = #{boardTemperature},</if>
- <if test="temperature != null">temperature = #{temperature},</if>
- <if test="pressure != null">pressure = #{pressure},</if>
- <if test="humidity != null">humidity = #{humidity},</if>
- <if test="windSpeed != null">wind_speed = #{windSpeed},</if>
- <if test="windDirection != null">wind_direction = #{windDirection},</if>
- <if test="dailyIrradiance != null">daily_irradiance = #{dailyIrradiance},</if>
- </trim>
- where tm = #{tm}
- </update>
- <delete id="deleteDataWeatherLocalByTm" parameterType="Date">
- delete from data_weather_local where tm = #{tm}
- </delete>
- <delete id="deleteDataWeatherLocalByTms" parameterType="String">
- delete from data_weather_local where tm in
- <foreach item="tm" collection="array" open="(" separator="," close=")">
- #{tm}
- </foreach>
- </delete>
- </mapper>
|