| | |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.moral.mapper.RealWeatherMapper"> |
| | | <resultMap id="BaseResultMap" type="com.moral.entity.RealWeather" > |
| | | <id column="monitor_point_id" property="monitorPointId" jdbcType="INTEGER" /> |
| | | <id column="city_code" property="cityCode" jdbcType="INTEGER" /> |
| | | </resultMap> |
| | | <insert id="insertRealWeather"> |
| | | insert into |
| | | real_weather |
| | | values |
| | | <foreach collection="list" item="item" separator=","> |
| | | (#{item.monitorPointId},#{item.time},#{item.json}) |
| | | (#{item.cityCode},#{item.time},#{item.json}) |
| | | </foreach> |
| | | </insert> |
| | | |
| | | <select id="getTempAndCloud" resultType="java.util.Map"> |
| | | select DATE_FORMAT(time, #{typeFormat}) time, |
| | | json->'$.temp' 'temp', |
| | | json->'$.cloud' 'cloud' |
| | | from real_weather |
| | | where city_code=#{cityCode} |
| | | and time >= #{startTime} |
| | | AND time <![CDATA[<]]> #{endTime} |
| | | and DATE_FORMAT(time,'%H:%i:%s')=#{time} |
| | | and cast(json->'$.condition' as UNSIGNED INTEGER)>=#{condition} |
| | | </select> |
| | | |
| | | <select id="getDayData" resultType="java.util.Map"> |
| | | select |
| | | round(avg(json->'$.temp')) 'tempAvg', |
| | | round(avg(json->'$.vis')) 'vis', |
| | | round(avg(json->'$.cloud')) 'cloud', |
| | | round(avg(json->'$.windSpeed')) 'windSpeed', |
| | | round(sum(json->'$.precip'),1) 'precip' |
| | | from real_weather |
| | | where city_code=#{cityCode} |
| | | and time >= #{start} |
| | | AND time <![CDATA[<]]> #{end} |
| | | </select> |
| | | |
| | | <select id="getTimeMaxTemp" resultType="java.util.Map"> |
| | | select |
| | | DATE_FORMAT(time, #{typeFormat}) time, |
| | | from real_weather |
| | | where city_code=#{cityCode} |
| | | and time >= #{start} |
| | | AND time <![CDATA[<]]> #{end} |
| | | and json->'$.temp'= |
| | | ( |
| | | SELECT REPLACE(max(json->'$.temp'),"\"","") |
| | | FROM real_weather |
| | | WHERE time>=#{start} |
| | | and time <![CDATA[<]]> #{end} |
| | | and city_code=130900 |
| | | ) limit 0,1; |
| | | </select> |
| | | |
| | | <select id="getTimeMinTemp" resultType="java.util.Map"> |
| | | select |
| | | DATE_FORMAT(time, #{typeFormat}) time, |
| | | from real_weather |
| | | where city_code=#{cityCode} |
| | | and time >= #{start} |
| | | AND time <![CDATA[<]]> #{end} |
| | | and json->'$.temp'= |
| | | ( |
| | | SELECT REPLACE(max(json->'$.temp'),"\"","") |
| | | FROM real_weather |
| | | WHERE time>=#{start} |
| | | and time <![CDATA[<]]> #{end} |
| | | and city_code=130900 |
| | | ) limit 0,1; |
| | | </select> |
| | | </mapper> |