From 5e9129373399e9cc3bdecf9b8365e1c6b6b0ecdd Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Wed, 21 Oct 2020 13:28:19 +0800
Subject: [PATCH] 修改时间bug
---
src/main/resources/mapper/RealWeatherMapper.xml | 156 +++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 153 insertions(+), 3 deletions(-)
diff --git a/src/main/resources/mapper/RealWeatherMapper.xml b/src/main/resources/mapper/RealWeatherMapper.xml
index c726685..90e1c55 100644
--- a/src/main/resources/mapper/RealWeatherMapper.xml
+++ b/src/main/resources/mapper/RealWeatherMapper.xml
@@ -1,15 +1,165 @@
<?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.moral.mapper.RealWeatherMapper">
- <resultMap id="BaseResultMap" type="com.moral.entity.RealWeather" >
- <id column="monitor_point_id" property="monitorPointId" jdbcType="INTEGER" />
+ <resultMap id="BaseResultMap" type="com.moral.entity.RealWeather">
+ <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>
+
+ <delete id="deleteRealWeather">
+ delete from real_weather where time=#{time}
+ </delete>
+
+ <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>
+
+ <select id="getWeatherByHour" resultType="java.util.Map">
+ select DATE_FORMAT(time, '%Y-%m-%d %H:%i:%s') time,
+ value
+ from history_weather_${timeUnits}
+ where city_code=#{cityCode}
+ and (
+ DATE_FORMAT(time, '%Y%H')=#{yearAndHour}
+ or DATE_FORMAT(time, '%Y%H')=#{yearAndHour1}
+ )
+ </select>
+
+ <select id="getSampleFromHistoryWeather" resultType="java.lang.String">
+ select DATE_FORMAT(time, #{typeFormat}) as time
+ from history_weather_${timeUnits}
+ <where>
+ city_code=#{cityCode}
+ <if test="condition == 0">
+ and cast(value->'$.condition' as UNSIGNED integer) > #{score}
+ </if>
+
+ <if test="condition == 1">
+ and cast(value->'$.condition' as UNSIGNED integer) <![CDATA[<=]]> #{score}
+ </if>
+
+ <if test="startTemp != null">
+ and cast(value->'$.temp' as decimal(10, 1)) >= #{startTemp}
+ </if>
+
+ <if test="endTemp != null">
+ and cast(value->'$.temp' as decimal(10, 1)) <![CDATA[<=]]> #{endTemp}
+ </if>
+
+ <if test="startPressure != null">
+ and cast(value->'$.pressure' as UNSIGNED integer) >= #{startPressure}
+ </if>
+
+ <if test="endPressure != null">
+ and cast(value->'$.pressure' as UNSIGNED integer) <![CDATA[<=]]> #{endPressure}
+ </if>
+
+ and time >= #{start}
+ and time <![CDATA[<]]> #{end}
+ and DATE_FORMAT(time, '%H') in
+ <foreach collection="hours" open="(" separator="," close=")" item="hour">
+ #{hour}
+ </foreach>
+ </where>
+ </select>
+
+ <select id="getSampleFromRealWeather" resultType="java.lang.String">
+ select DATE_FORMAT(time, #{typeFormat}) as time
+ from real_weather
+ <where>
+ city_code=#{cityCode}
+ <if test="condition == 0">
+ and cast(json->'$.condition' as UNSIGNED integer) > #{score}
+ </if>
+
+ <if test="condition == 1">
+ and cast(json->'$.condition' as UNSIGNED integer) <![CDATA[<=]]> #{score}
+ </if>
+
+ <if test="startTemp != null">
+ and cast(json->'$.temp' as decimal(10, 1)) >= #{startTemp}
+ </if>
+
+ <if test="endTemp != null">
+ and cast(json->'$.temp' as decimal(10, 1)) <![CDATA[<=]]> #{endTemp}
+ </if>
+
+ <if test="startPressure != null">
+ and cast(json->'$.pressure' as UNSIGNED integer) >= #{startPressure}
+ </if>
+
+ <if test="endPressure != null">
+ and cast(json->'$.pressure' as UNSIGNED integer) <![CDATA[<=]]> #{endPressure}
+ </if>
+
+ and time >= #{start}
+ and time <![CDATA[<]]> #{end}
+ and DATE_FORMAT(time, '%H') in
+ <foreach collection="hours" open="(" separator="," close=")" item="hour">
+ #{hour}
+ </foreach>
+ </where>
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0