From 3152a4e4dadcd6ebfb8e882aa356d063416d49cc Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Tue, 24 Nov 2020 09:58:26 +0800
Subject: [PATCH] Merge branch 'master' of http://blit.7drlb.com:8888/r/screen_job

---
 src/main/resources/mapper/WeatherMapper.xml |   67 +++++++++++++++++++++++++++------
 1 files changed, 55 insertions(+), 12 deletions(-)

diff --git a/src/main/resources/mapper/WeatherMapper.xml b/src/main/resources/mapper/WeatherMapper.xml
index 11c492c..51d8c73 100644
--- a/src/main/resources/mapper/WeatherMapper.xml
+++ b/src/main/resources/mapper/WeatherMapper.xml
@@ -1,6 +1,7 @@
 <?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.WeatherMapper">
+
     <select id="getCityWeatherConfig" resultType="java.util.Map">
         select city_code AS cityCode,
         city_id AS cityId
@@ -119,6 +120,15 @@
         from history_weather_${timeUnits}
         <where>
             city_code=#{cityCode}
+
+            <if test="windDir != null">
+                and value->'$.windDir' = #{windDir}
+            </if>
+
+            <if test="windScale != null">
+                and value->'$.windScale' = #{windScale}
+            </if>
+
             <if test="condition == 0">
                 and cast(value->'$.condition' as UNSIGNED integer) > #{score}
             </if>
@@ -143,12 +153,24 @@
                 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>
+            <if test="start != null">
+                and time >= #{start}
+            </if>
+
+            <if test="end != null">
+                and time <![CDATA[<]]> #{end}
+            </if>
+
+            <if test="hours != null">
+                and DATE_FORMAT(time, '%H') in
+                <foreach collection="hours" open="(" separator="," close=")" item="hour">
+                    #{hour}
+                </foreach>
+            </if>
+
+            <if test="month != null">
+                and DATE_FORMAT(time, '%m') = #{month}
+            </if>
         </where>
     </select>
 
@@ -157,6 +179,15 @@
         from real_weather
         <where>
             city_code=#{cityCode}
+
+            <if test="windDir != null">
+                and json->'$.windDir' = #{windDir}
+            </if>
+
+            <if test="windScale != null">
+                and json->'$.windScale' = #{windScale}
+            </if>
+
             <if test="condition == 0">
                 and cast(json->'$.condition' as UNSIGNED integer) > #{score}
             </if>
@@ -181,12 +212,24 @@
                 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>
+            <if test="start != null">
+                and time >= #{start}
+            </if>
+
+            <if test="end != null">
+                and time <![CDATA[<]]> #{end}
+            </if>
+
+            <if test="hours != null">
+                and DATE_FORMAT(time, '%H') in
+                <foreach collection="hours" open="(" separator="," close=")" item="hour">
+                    #{hour}
+                </foreach>
+            </if>
+
+            <if test="month != null">
+                and DATE_FORMAT(time, '%m') = #{month}
+            </if>
         </where>
     </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0