jinpengyong
2021-07-21 7c50c777eda4fa9dfdf54535a7d6ab0520243267
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?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.api.mapper.HistoryFiveMinutelyMapper">
 
    <!--获取5分钟风场数据-->
    <select id="getAreaWindData" 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_five_minutely_${timeUnits} h ,
        `device` AS d
        WHERE d.mac = h.mac
        AND d.mac IN
        (SELECT mac FROM device WHERE monitor_point_id IN
            <foreach item="monitorPointId" collection="monitorPointIds" index="index" open="(" separator="," close=")">
                #{monitorPointId}
            </foreach>
        )
        AND h.time = (SELECT max(time) FROM history_five_minutely_${timeUnits})
    </select>
 
</mapper>