From ea1373d4e1511b620bb87872e692643e2edb81f8 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Tue, 12 Sep 2023 10:29:19 +0800
Subject: [PATCH] fix:升级语句优化
---
screen-api/src/main/resources/mapper/HistoryHourlyMapper.xml | 90 +++++++++++++++++++++++++++++++++++++++++---
1 files changed, 83 insertions(+), 7 deletions(-)
diff --git a/screen-api/src/main/resources/mapper/HistoryHourlyMapper.xml b/screen-api/src/main/resources/mapper/HistoryHourlyMapper.xml
index 90af3f8..b707ec4 100644
--- a/screen-api/src/main/resources/mapper/HistoryHourlyMapper.xml
+++ b/screen-api/src/main/resources/mapper/HistoryHourlyMapper.xml
@@ -2,12 +2,88 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.moral.api.mapper.HistoryHourlyMapper">
- <!-- ������������������������ -->
- <resultMap id="BaseResultMap" type="com.moral.api.entity.HistoryHourly">
- <result column="mac" property="mac"/>
- <result column="time" property="time"/>
- <result column="value" property="value"/>
- <result column="version" property="version"/>
- </resultMap>
+ <select id="selectHourlyData" resultType="java.lang.String">
+ SELECT `value`
+ FROM history_hourly_${timeUnits}
+ WHERE mac = #{mac}
+ AND `time` = #{time}
+ </select>
+
+ <select id="selectHourlyListData" parameterType="java.util.List" resultType="java.util.Map">
+ SELECT `value`,`time`
+ FROM history_hourly_${timeUnits}
+ WHERE mac = #{mac}
+ AND `time` BETWEEN #{startTime} and #{endTime}
+ </select>
+
+
+ <select id="selectDataByMacsAndTime" parameterType="java.util.List" resultType="java.util.Map">
+ select mac, `time`, `value` from history_hourly_${timeUnits}
+ where mac in
+ <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
+ #{item}
+ </foreach>
+ and `time` = #{time}
+ </select>
+
+ <select id="queryLastHourlyMac" resultType="java.lang.String">
+ SELECT `value`
+ FROM history_hourly_${timeUnits}
+ WHERE mac = #{mac}
+ AND `time` = #{time}
+ </select>
+
+
+ <select id="getArea" resultType="com.moral.api.pojo.dto.Wind.WindData">
+ SELECT
+ d.longitude AS longitude,
+ d.latitude AS latitude,
+ CASE WHEN
+ h.value->'$.a01007' = 0 THEN 0.1 ELSE h.value->'$.a01007' END AS windSpeed,
+ h.value->'$.a01008' AS windDir
+ FROM history_hourly_${timeUnits} h ,
+ `device` AS d
+ WHERE d.is_delete = '0'
+ and d.mac = h.mac
+ AND d.monitor_point_id IN
+ <foreach item="monitorPointId" collection="monitorPointIds" index="index" open="(" separator="," close=")">
+ #{monitorPointId}
+ </foreach>
+ AND h.time = #{time}
+ </select>
+
+ <select id="getTVOCByMac" resultType="java.lang.String">
+ select `value` - > '$.${sensor}'
+ from history_hourly_${yearAndMonth}
+ where mac = #{mac}
+ and time =#{time}
+ </select>
+
+
+ <select id="getPressureByMac" resultType="java.lang.String">
+ select `value` - > '$.a01006'
+ from history_hourly_${yearAndMonth}
+ where mac = #{mac}
+ and time =#{time}
+ </select>
+
+
+ <select id="getDataByMac" resultType="java.util.Map">
+ select `value`
+ from history_hourly_${yearAndMonth}
+ where mac = #{mac}
+ and time =#{time}
+ </select>
+
+ <insert id="insertHistoryHourly">
+ INSERT INTO history_hourly_${timeUnits}
+ VALUES (#{mac}, #{time}, #{value}, #{version})
+ </insert>
+
+
+ <insert id="updateHistoryHourly">
+ UPDATE history_hourly_${timeUnits} SET `value` = #{value}
+ where mac = #{mac} and time = #{time} and version = #{version}
+ </insert>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0