WeatherRealtimeDataMapper.xml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.ruoyi.base.mapper.WeatherRealtimeDataMapper">
  6. <resultMap type="WeatherRealtimeData" id="WeatherRealtimeDataResult">
  7. <result property="id" column="id" />
  8. <result property="deviceId" column="device_id" />
  9. <result property="temperature" column="temperature" />
  10. <result property="humidity" column="humidity" />
  11. <result property="rainfall" column="rainfall" />
  12. <result property="windDirection" column="wind_direction" />
  13. <result property="windSpeed" column="wind_speed" />
  14. <result property="airPressure" column="air_pressure" />
  15. <result property="lightIntensity" column="light_intensity" />
  16. <result property="collectTime" column="collect_time" />
  17. <result property="createTime" column="create_time" />
  18. <result property="updateTime" column="update_time" />
  19. <result property="createBy" column="create_by" />
  20. <result property="updateBy" column="update_by" />
  21. <result property="soilTemperature" column="soil_temperature" />
  22. <result property="soilHumidity" column="soil_humidity" />
  23. <result property="soilN" column="soil_n" />
  24. <result property="soilP" column="soil_p" />
  25. <result property="soilK" column="soil_k" />
  26. <result property="rainfallA" column="rainfall_a" />
  27. </resultMap>
  28. <resultMap type="WeatherDataStatistics" id="WeatherDataStatisticsResult">
  29. <result property="id" column="id" />
  30. <result property="date" column="date" />
  31. <result property="deviceId" column="device_id" />
  32. <result property="maxTemperature" column="max_temperature" />
  33. <result property="minTemperature" column="min_temperature" />
  34. <result property="avgTemperature" column="min_temperature" />
  35. <result property="avgHumidity" column="avg_humidity" />
  36. <result property="avgRainfall" column="avg_rainfall" />
  37. <result property="avgWindSpeed" column="avg_wind_speed" />
  38. <result property="avgSoilTemperature" column="avg_soil_temperature" />
  39. <result property="avgSoilHumidity" column="avg_soil_humidity" />
  40. <result property="avgSoilN" column="avg_soil_n" />
  41. <result property="avgSoilP" column="avg_soil_p" />
  42. <result property="avgSoilK" column="avg_soil_k" />
  43. <result property="dateRainfallA" column="date_rainfall_a" />
  44. </resultMap>
  45. <sql id="selectWeatherRealtimeDataVo">
  46. select id, device_id, temperature, humidity, rainfall, wind_direction, wind_speed, air_pressure, light_intensity, collect_time, create_time, update_time, create_by, update_by, soil_temperature, soil_humidity, soil_n, soil_p, soil_k, rainfall_a from weather_realtime_data
  47. </sql>
  48. <select id="selectWeatherRealtimeDataList" parameterType="WeatherRealtimeData" resultMap="WeatherRealtimeDataResult">
  49. <include refid="selectWeatherRealtimeDataVo"/>
  50. <where>
  51. <if test="deviceId != null and deviceId != ''"> and device_id = #{deviceId}</if>
  52. <if test="temperature != null "> and temperature = #{temperature}</if>
  53. <if test="humidity != null "> and humidity = #{humidity}</if>
  54. <if test="rainfall != null "> and rainfall = #{rainfall}</if>
  55. <if test="windDirection != null and windDirection != ''"> and wind_direction = #{windDirection}</if>
  56. <if test="windSpeed != null "> and wind_speed = #{windSpeed}</if>
  57. <if test="airPressure != null "> and air_pressure = #{airPressure}</if>
  58. <if test="lightIntensity != null "> and light_intensity = #{lightIntensity}</if>
  59. <if test="collectTime != null "> and collect_time = #{collectTime}</if>
  60. <if test="soilTemperature != null "> and soil_temperature = #{soilTemperature}</if>
  61. <if test="soilHumidity != null "> and soil_humidity = #{soilHumidity}</if>
  62. <if test="soilN != null "> and soil_n = #{soilN}</if>
  63. <if test="soilP != null "> and soil_p = #{soilP}</if>
  64. <if test="soilK != null "> and soil_k = #{soilK}</if>
  65. <if test="rainfallA != null "> and rainfall_a = #{rainfallA}</if>
  66. <if test="beginWeatherTime != null and endWeatherTime != null ">
  67. and collect_time between #{beginWeatherTime} and #{endWeatherTime}
  68. </if>
  69. </where>
  70. </select>
  71. <select id="selectWeatherRealtimeDataById" parameterType="Long" resultMap="WeatherRealtimeDataResult">
  72. <include refid="selectWeatherRealtimeDataVo"/>
  73. where id = #{id}
  74. </select>
  75. <select id="selectWeatherRealtimeDataLatestTimeById" resultType="com.ruoyi.base.domain.WeatherRealtimeData"
  76. resultMap="WeatherRealtimeDataResult">
  77. select id, device_id, temperature, humidity, rainfall, wind_direction, wind_speed, air_pressure,
  78. light_intensity, collect_time, create_time, update_time, create_by, update_by,
  79. soil_temperature, soil_humidity, soil_n, soil_p, soil_k, rainfall_a
  80. from weather_realtime_data
  81. WHERE device_id = #{deviceId}
  82. ORDER BY collect_time DESC
  83. LIMIT 1;
  84. </select>
  85. <select id="selectWeatherStatisticsList" resultType="com.ruoyi.base.domain.WeatherDataStatistics" resultMap="WeatherDataStatisticsResult">
  86. select date, max_temperature, min_temperature,avg_temperature, avg_humidity, avg_rainfall, avg_wind_speed,avg_soil_n, avg_soil_p, avg_soil_k,avg_soil_temperature,avg_soil_humidity,date_rainfall_a
  87. from weather_data_statistics
  88. <where>
  89. <if test="beginCollectTime != null and endCollectTime != null ">
  90. and date between #{beginCollectTime} and #{endCollectTime}
  91. </if>
  92. <if test="deviceId != null and deviceId != ''"> and device_id = #{deviceId}</if>
  93. </where>
  94. </select>
  95. <insert id="insertWeatherRealtimeData" parameterType="WeatherRealtimeData" useGeneratedKeys="true" keyProperty="id">
  96. insert into weather_realtime_data
  97. <trim prefix="(" suffix=")" suffixOverrides=",">
  98. <if test="deviceId != null and deviceId != ''">device_id,</if>
  99. <if test="temperature != null">temperature,</if>
  100. <if test="humidity != null">humidity,</if>
  101. <if test="rainfall != null">rainfall,</if>
  102. <if test="windDirection != null">wind_direction,</if>
  103. <if test="windSpeed != null">wind_speed,</if>
  104. <if test="airPressure != null">air_pressure,</if>
  105. <if test="lightIntensity != null">light_intensity,</if>
  106. <if test="collectTime != null">collect_time,</if>
  107. <if test="createTime != null">create_time,</if>
  108. <if test="updateTime != null">update_time,</if>
  109. <if test="createBy != null and createBy != ''">create_by,</if>
  110. <if test="updateBy != null">update_by,</if>
  111. <if test="soilTemperature != null">soil_temperature,</if>
  112. <if test="soilHumidity != null">soil_humidity,</if>
  113. <if test="soilN != null">soil_n,</if>
  114. <if test="soilP != null">soil_p,</if>
  115. <if test="soilK != null">soil_k,</if>
  116. <if test="rainfallA != null">rainfall_a,</if>
  117. </trim>
  118. <trim prefix="values (" suffix=")" suffixOverrides=",">
  119. <if test="deviceId != null and deviceId != ''">#{deviceId},</if>
  120. <if test="temperature != null">#{temperature},</if>
  121. <if test="humidity != null">#{humidity},</if>
  122. <if test="rainfall != null">#{rainfall},</if>
  123. <if test="windDirection != null">#{windDirection},</if>
  124. <if test="windSpeed != null">#{windSpeed},</if>
  125. <if test="airPressure != null">#{airPressure},</if>
  126. <if test="lightIntensity != null">#{lightIntensity},</if>
  127. <if test="collectTime != null">#{collectTime},</if>
  128. <if test="createTime != null">#{createTime},</if>
  129. <if test="updateTime != null">#{updateTime},</if>
  130. <if test="createBy != null and createBy != ''">#{createBy},</if>
  131. <if test="updateBy != null">#{updateBy},</if>
  132. <if test="soilTemperature != null">#{soilTemperature},</if>
  133. <if test="soilHumidity != null">#{soilHumidity},</if>
  134. <if test="soilN != null">#{soilN},</if>
  135. <if test="soilP != null">#{soilP},</if>
  136. <if test="soilK != null">#{soilK},</if>
  137. <if test="rainfallA != null">#{rainfallA},</if>
  138. </trim>
  139. </insert>
  140. <insert id="insertWeatherStatistics" >
  141. insert into weather_data_statistics
  142. <trim prefix="(" suffix=")" suffixOverrides=",">
  143. <if test="date != null">date,</if>
  144. <if test="deviceId != null and deviceId != ''">device_id,</if>
  145. <if test="maxTemperature != null">max_temperature,</if>
  146. <if test="minTemperature != null">min_temperature,</if>
  147. <if test="avgTemperature != null">avg_temperature,</if>
  148. <if test="avgHumidity != null">avg_humidity,</if>
  149. <if test="avgRainfall != null">avg_rainfall,</if>
  150. <if test="avgWindSpeed != null">avg_wind_speed,</if>
  151. <if test="avgSoilTemperature != null">avg_soil_temperature,</if>
  152. <if test="avgSoilHumidity != null">avg_soil_humidity,</if>
  153. <if test="avgSoilN != null">avg_soil_n,</if>
  154. <if test="avgSoilP != null">avg_soil_p,</if>
  155. <if test="avgSoilK != null">avg_soil_k,</if>
  156. <if test="dateRainfallA != null">date_rainfall_a,</if>
  157. </trim>
  158. <trim prefix="values (" suffix=")" suffixOverrides=",">
  159. <if test="date != null">#{date},</if>
  160. <if test="deviceId != null and deviceId != ''">#{deviceId},</if>
  161. <if test="maxTemperature != null">#{maxTemperature},</if>
  162. <if test="minTemperature != null">#{minTemperature},</if>
  163. <if test="avgTemperature != null">#{avgTemperature},</if>
  164. <if test="avgHumidity != null">#{avgHumidity},</if>
  165. <if test="avgRainfall != null">#{avgRainfall},</if>
  166. <if test="avgWindSpeed != null">#{avgWindSpeed},</if>
  167. <if test="avgSoilTemperature != null">#{avgSoilTemperature},</if>
  168. <if test="avgSoilHumidity != null">#{avgSoilHumidity},</if>
  169. <if test="avgSoilN != null">#{avgSoilN},</if>
  170. <if test="avgSoilP != null">#{avgSoilP},</if>
  171. <if test="avgSoilK != null">#{avgSoilK},</if>
  172. <if test="dateRainfallA != null">#{dateRainfallA},</if>
  173. </trim>
  174. </insert>
  175. <update id="updateWeatherRealtimeData" parameterType="WeatherRealtimeData">
  176. update weather_realtime_data
  177. <trim prefix="SET" suffixOverrides=",">
  178. <if test="deviceId != null and deviceId != ''">device_id = #{deviceId},</if>
  179. <if test="temperature != null">temperature = #{temperature},</if>
  180. <if test="humidity != null">humidity = #{humidity},</if>
  181. <if test="rainfall != null">rainfall = #{rainfall},</if>
  182. <if test="windDirection != null">wind_direction = #{windDirection},</if>
  183. <if test="windSpeed != null">wind_speed = #{windSpeed},</if>
  184. <if test="airPressure != null">air_pressure = #{airPressure},</if>
  185. <if test="lightIntensity != null">light_intensity = #{lightIntensity},</if>
  186. <if test="collectTime != null">collect_time = #{collectTime},</if>
  187. <if test="createTime != null">create_time = #{createTime},</if>
  188. <if test="updateTime != null">update_time = #{updateTime},</if>
  189. <if test="createBy != null and createBy != ''">create_by = #{createBy},</if>
  190. <if test="updateBy != null">update_by = #{updateBy},</if>
  191. <if test="soilTemperature != null">soil_temperature = #{soilTemperature},</if>
  192. <if test="soilHumidity != null">soil_humidity = #{soilHumidity},</if>
  193. <if test="soilN != null">soil_n = #{soilN},</if>
  194. <if test="soilP != null">soil_p = #{soilP},</if>
  195. <if test="soilK != null">soil_k = #{soilK},</if>
  196. <if test="rainfallA != null">rainfall_a = #{rainfallA},</if>
  197. </trim>
  198. where id = #{id}
  199. </update>
  200. <delete id="deleteWeatherRealtimeDataById" parameterType="Long">
  201. delete from weather_realtime_data where id = #{id}
  202. </delete>
  203. <delete id="deleteWeatherRealtimeDataByIds" parameterType="String">
  204. delete from weather_realtime_data where id in
  205. <foreach item="id" collection="array" open="(" separator="," close=")">
  206. #{id}
  207. </foreach>
  208. </delete>
  209. <select id="selectLatestDataByDeviceId" parameterType="String" resultMap="WeatherRealtimeDataResult">
  210. <include refid="selectWeatherRealtimeDataVo"/>
  211. WHERE device_id = #{deviceId}
  212. order by collect_time desc
  213. LIMIT 1
  214. </select>
  215. </mapper>