|  |  | 
 |  |  | <mapper namespace="com.moral.api.mapper.HistoryHourlyMapper"> | 
 |  |  |  | 
 |  |  |     <select id="selectHourlyData" resultType="java.lang.String"> | 
 |  |  |         SELECT `value` FROM history_hourly_${timeUnits} WHERE mac = #{mac} AND `time` = #{time} | 
 |  |  |         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 | 
 |  |  | 
 |  |  |         and `time` = #{time} | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <select id="getSensorSumByMacs" resultType="java.lang.Double"> | 
 |  |  |         SELECT SUM(`value`->'$.${sensorCode}') | 
 |  |  |     <select id="queryLastHourlyMac" resultType="java.lang.String"> | 
 |  |  |         SELECT `value` | 
 |  |  |         FROM history_hourly_${timeUnits} | 
 |  |  |         WHERE `time` = #{time} | 
 |  |  |         AND mac IN | 
 |  |  |         <foreach collection="macs" item="mac" index="index" open="(" close=")" separator=","> | 
 |  |  |             #{mac} | 
 |  |  |         </foreach> | 
 |  |  |         WHERE mac = #{mac} | 
 |  |  |           AND `time` = #{time} | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <select id="getSensorAvgByMacs" resultType="java.lang.Double"> | 
 |  |  |         SELECT AVG(`value`->'$.${sensorCode}') | 
 |  |  |         FROM history_hourly_${timeUnits} | 
 |  |  |         WHERE `time` = #{time} | 
 |  |  |         AND mac IN | 
 |  |  |         <foreach collection="macs" item="mac" index="index" open="(" close=")" separator=","> | 
 |  |  |             #{mac} | 
 |  |  |  | 
 |  |  |     <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> |