From 63ec97fc0ff6cdfb9dd3c9c0287ce784f0c2aaf5 Mon Sep 17 00:00:00 2001 From: ZhuDongming <773644075@qq.com> Date: Tue, 31 Mar 2020 09:52:18 +0800 Subject: [PATCH] update指定设备发送任务 --- src/main/java/com/moral/service/DeviceService.java | 2 ++ src/main/java/com/moral/mapper/HistoryMapper.java | 2 ++ src/main/resources/mapper/HistoryMapper.xml | 21 +++++++++++++++++++++ src/main/java/com/moral/task/HistoryTableInsertTask.java | 2 +- src/main/java/com/moral/service/impl/DeviceServiceImpl.java | 5 +++++ 5 files changed, 31 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/moral/mapper/HistoryMapper.java b/src/main/java/com/moral/mapper/HistoryMapper.java index fd4026f..d9ac919 100644 --- a/src/main/java/com/moral/mapper/HistoryMapper.java +++ b/src/main/java/com/moral/mapper/HistoryMapper.java @@ -18,6 +18,8 @@ List<Map<String, Object>> getSensorDataByMac(Map<String,Object> parameters); + List<Map<String, Object>> getSensorDataByMacOnce(Map<String,Object> parameters); + List<Map<String, Object>> getSensorDataOnce(Map<String,Object> parameters); Map<String, Object> getMinData(Map<String,Object> parameters); diff --git a/src/main/java/com/moral/service/DeviceService.java b/src/main/java/com/moral/service/DeviceService.java index a91d4d6..0ef2920 100644 --- a/src/main/java/com/moral/service/DeviceService.java +++ b/src/main/java/com/moral/service/DeviceService.java @@ -11,6 +11,8 @@ List<Map<String, Object>> getSensorDataByMac(Map<String, Object> parameters); + List<Map<String, Object>> getSensorDataByMacOnce(Map<String, Object> parameters); + List<String> getMacs(); List<String> getMacByOrganizationid(List<Object> organizationIdList); diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java index 304b3e4..280914b 100644 --- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java @@ -38,6 +38,11 @@ } @Override + public List<Map<String, Object>> getSensorDataByMacOnce(Map<String, Object> parameters) { + return historyMapper.getSensorDataByMacOnce(parameters); + } + + @Override public List<String> getMacs() { return deviceMapper.getMacs(); } diff --git a/src/main/java/com/moral/task/HistoryTableInsertTask.java b/src/main/java/com/moral/task/HistoryTableInsertTask.java index ea5796f..fe94ff9 100644 --- a/src/main/java/com/moral/task/HistoryTableInsertTask.java +++ b/src/main/java/com/moral/task/HistoryTableInsertTask.java @@ -810,7 +810,7 @@ devices.put("start", startTime); devices.put("end", endTime); try { - List<Map<String, Object>> minutelyData = deviceService.getSensorDataByMac(devices); + List<Map<String, Object>> minutelyData = deviceService.getSensorDataByMacOnce(devices); XxlJobLogger.log("historyMinutelyData:" + minutelyData.size()); List<Map<String, Object>> minutelyDataList = new ArrayList<>(); for (Map<String, Object> deviceData : minutelyData) { diff --git a/src/main/resources/mapper/HistoryMapper.xml b/src/main/resources/mapper/HistoryMapper.xml index 4e677f0..823b530 100644 --- a/src/main/resources/mapper/HistoryMapper.xml +++ b/src/main/resources/mapper/HistoryMapper.xml @@ -120,6 +120,27 @@ h.mac </select> + <select id="getSensorDataByMacOnce" resultType="java.util.LinkedHashMap"> + SELECT + h.mac,DATE_FORMAT(time,'%Y-%m-%dT%H:%i') time, + <foreach collection="sensorKeys" separator="," item="sensorKey"> + AVG(value->'$.${sensorKey}') AS '${sensorKey}', + MAX(cast(h.value ->'$.${sensorKey}' as decimal(11,3))) AS 'MAX${sensorKey}', + MIN(cast(h.value ->'$.${sensorKey}' as decimal(11,3))) AS 'MIN${sensorKey}' + </foreach> + FROM + history h + WHERE + h.time >= #{start} + AND h.time <![CDATA[<]]> #{end} + and h.mac in + <foreach collection="macList" index="index" item="mac" open="(" separator="," close=")"> + #{mac} + </foreach> + group by + h.mac,DATE_FORMAT(time,'%Y-%m-%dT%H:%i') + </select> + <select id="getSensorDataOnce" resultType="java.util.LinkedHashMap"> SELECT h.mac,DATE_FORMAT(time,'%Y-%m-%dT%H:%i') time, -- Gitblit v1.8.0