From f5765e4ff4ea188e8a6ba4d66f3c4e7fc2268fdd Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Fri, 02 Jul 2021 17:20:29 +0800
Subject: [PATCH] 定时任务update

---
 screen-common/src/main/java/com/moral/util/DateUtils.java                          |    2 
 screen-job/src/main/java/com/moral/api/service/impl/HistoryWeeklyServiceImpl.java  |   28 +++-----------
 screen-job/src/main/java/com/moral/api/service/impl/HistoryDailyServiceImpl.java   |   45 +---------------------
 screen-common/src/main/java/com/moral/util/AmendUtils.java                         |    6 ++-
 screen-job/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java         |   10 +---
 screen-job/src/main/java/com/moral/api/service/impl/HistoryMonthlyServiceImpl.java |   12 ++---
 6 files changed, 21 insertions(+), 82 deletions(-)

diff --git a/screen-common/src/main/java/com/moral/util/AmendUtils.java b/screen-common/src/main/java/com/moral/util/AmendUtils.java
index 90aa50c..809598a 100644
--- a/screen-common/src/main/java/com/moral/util/AmendUtils.java
+++ b/screen-common/src/main/java/com/moral/util/AmendUtils.java
@@ -132,7 +132,8 @@
         return sciCal(data.get((int) v), 4);
     }
 
-    public static Object getCOAvgOfWeek(List<Map<String, Object>> list) {
+    //������������������������������
+    public static Object getCOAvgOfWeekOrMonth(List<Map<String, Object>> list) {
         List<Double> data = new ArrayList<>();
         for (Map<String, Object> dataMap : list) {
             Map<String, Object> dataValue = JSONObject.parseObject((String) dataMap.get("value"), Map.class);
@@ -149,7 +150,8 @@
         return percentile(data, 95);
     }
 
-    public static Object getO3AvgOfWeek(List<Map<String, Object>> list) {
+    //������������������������
+    public static Object getO3AvgOfWeekOrMonth(List<Map<String, Object>> list) {
         List<Double> data = new ArrayList<>();
         for (Map<String, Object> dataMap : list) {
             Map<String, Object> dataValue = JSONObject.parseObject((String) dataMap.get("value"), Map.class);
diff --git a/screen-common/src/main/java/com/moral/util/DateUtils.java b/screen-common/src/main/java/com/moral/util/DateUtils.java
index 99a7243..5fde952 100644
--- a/screen-common/src/main/java/com/moral/util/DateUtils.java
+++ b/screen-common/src/main/java/com/moral/util/DateUtils.java
@@ -1312,7 +1312,7 @@
     }
 
     //���������������
-    public static Date geLastWeekMonday() {
+    public static Date getLastWeekMonday() {
         Calendar cal = Calendar.getInstance();
         cal.setTime(getDate(getMondayOfThisWeek(), yyyy_MM_dd_EN));
         cal.add(Calendar.DATE, -7);
diff --git a/screen-job/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java b/screen-job/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
index 8850e00..3f4df42 100644
--- a/screen-job/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
+++ b/screen-job/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
@@ -42,12 +42,12 @@
         //������������������������
         List<Device> devices = deviceMapper.selectList(queryWrapper);
         for (Device device : devices) {
-            Map<String, Object> data = getDataFromRedis(device.getMac());
+            Map<String, Object> data = (Map<String, Object>) redisTemplate.opsForValue().get(RedisConstants.DEVICE_DATA + device.getMac());;
             device.setState(Constants.DEVICE_STATE_OFFLINE);
             if (data != null && data.containsKey("DataTime")) {
-                long time = Long.parseLong(data.get("DataTime").toString());
+                Date time = DateUtils.getDate((String) data.get("DataTime"), DateUtils.yyyyMMddHHmmss_EN);
                 //���������������������������������
-                if (DateUtils.getDateOfMin(new Date(time), 2).getTime() < new Date().getTime()) {
+                if (DateUtils.getDateOfMin(time, 2).getTime() < new Date().getTime()) {
                     updateDeviceState(device);
                 }
             } else {
@@ -61,9 +61,5 @@
         UpdateWrapper<Device> updateWrapper = new UpdateWrapper<>();
         updateWrapper.eq("id", device.getId()).set("state", device.getState());
         deviceMapper.update(null, updateWrapper);
-    }
-
-    private Map<String, Object> getDataFromRedis(String mac) {
-        return (Map<String, Object>) redisTemplate.opsForValue().get(RedisConstants.DEVICE_DATA + mac);
     }
 }
diff --git a/screen-job/src/main/java/com/moral/api/service/impl/HistoryDailyServiceImpl.java b/screen-job/src/main/java/com/moral/api/service/impl/HistoryDailyServiceImpl.java
index 0d5044e..e184847 100644
--- a/screen-job/src/main/java/com/moral/api/service/impl/HistoryDailyServiceImpl.java
+++ b/screen-job/src/main/java/com/moral/api/service/impl/HistoryDailyServiceImpl.java
@@ -51,9 +51,9 @@
     public void insertHistoryDaily() {
         String format = DateUtils.yyyy_MM_dd_EN;
         Date now = new Date();
-        //������������
+        //���������������������
         Date start = DateUtils.dataToTimeStampTime(DateUtils.getDateOfDay(now, -1), format);
-        //������������
+        //���������������������
         Date end = DateUtils.dataToTimeStampTime(now, format);
         //������
         QueryWrapper<Sensor> sensorQueryWrapper = new QueryWrapper<>();
@@ -123,46 +123,5 @@
 
         //���������������
         historyDailyMapper.insertHistoryDaily(insertData);
-    }
-
-
-    public static void main(String[] args) {
-        List<Integer> list = new ArrayList<>();
-        list.add(8);//1���
-        list.add(12);//2
-        list.add(10);//3
-        list.add(18);//4
-        list.add(16);//5
-        list.add(22);//6
-        list.add(4);//7
-        list.add(12);
-        list.add(28);
-        list.add(26);
-        list.add(25);
-        list.add(21);
-        list.add(6);
-        list.add(18);
-        list.add(28);
-        list.add(18);
-        list.add(16);
-        list.add(15);
-        list.add(12);
-        list.add(14);
-        list.add(12);
-        list.add(10);
-        list.add(5);
-        list.add(88);//24
-        Integer max = 0;
-        for (int i = 7; i < list.size(); i++) {
-            Integer sum = 0;
-            for (int j = i - 7; j <= i; j++) {
-                Integer b = list.get(j);
-                sum = sum + b;
-            }
-            if (sum > max) {
-                max = sum;
-            }
-        }
-        System.out.println((max / 8F));
     }
 }
diff --git a/screen-job/src/main/java/com/moral/api/service/impl/HistoryMonthlyServiceImpl.java b/screen-job/src/main/java/com/moral/api/service/impl/HistoryMonthlyServiceImpl.java
index 659841b..16f1cac 100644
--- a/screen-job/src/main/java/com/moral/api/service/impl/HistoryMonthlyServiceImpl.java
+++ b/screen-job/src/main/java/com/moral/api/service/impl/HistoryMonthlyServiceImpl.java
@@ -49,10 +49,10 @@
 
     @Override
     public void insertHistoryMonthly() {
-
-        Date now = new Date();
         //���������������������1���
         Date start = DateUtils.getFirstDayOfLastMonth();
+        //���������������������1���
+        Date end = DateUtils.addMonths(start, 1);
         //������
         QueryWrapper<Sensor> sensorQueryWrapper = new QueryWrapper<>();
         sensorQueryWrapper.select("code").eq("is_delete", Constants.NOT_DELETE);
@@ -60,7 +60,7 @@
 
         //���������������������������
         QueryWrapper<HistoryDaily> historyDailyQueryWrapper = new QueryWrapper<>();
-        historyDailyQueryWrapper.ge("time", DateUtils.dateToDateString(start)).lt("time", DateUtils.dateToDateString(now));
+        historyDailyQueryWrapper.ge("time", DateUtils.dateToDateString(start)).lt("time", DateUtils.dateToDateString(end));
         List<Map<String, Object>> weeklyData = historyDailyService.listMaps(historyDailyQueryWrapper);
         if (weeklyData.size() == 0) {
             return;
@@ -84,13 +84,13 @@
             }
 
             //CO 95������������������������
-            Object coAvg = AmendUtils.getCOAvgOfWeek(value);
+            Object coAvg = AmendUtils.getCOAvgOfWeekOrMonth(value);
             if (coAvg != null) {
                 jsonMap.put(Constants.SENSOR_CODE_CO, coAvg);
             }
 
             //O3 90������������������������
-            Object o3Avg = AmendUtils.getO3AvgOfWeek(value);
+            Object o3Avg = AmendUtils.getO3AvgOfWeekOrMonth(value);
             if (o3Avg != null) {
                 jsonMap.put(Constants.SENSOR_CODE_O3, o3Avg);
             }
@@ -129,7 +129,5 @@
 
         //���������������
         historyMonthlyMapper.insertHistoryMonthly(insertData);
-
-
     }
 }
diff --git a/screen-job/src/main/java/com/moral/api/service/impl/HistoryWeeklyServiceImpl.java b/screen-job/src/main/java/com/moral/api/service/impl/HistoryWeeklyServiceImpl.java
index af25905..a2cff3c 100644
--- a/screen-job/src/main/java/com/moral/api/service/impl/HistoryWeeklyServiceImpl.java
+++ b/screen-job/src/main/java/com/moral/api/service/impl/HistoryWeeklyServiceImpl.java
@@ -49,9 +49,10 @@
 
     @Override
     public void insertHistoryWeekly() {
-        Date now = new Date();
         //������������������������
-        Date start = DateUtils.geLastWeekMonday();
+        Date start = DateUtils.getLastWeekMonday();
+        //������������������������
+        Date end = DateUtils.addDays(start, 7);
         //������
         QueryWrapper<Sensor> sensorQueryWrapper = new QueryWrapper<>();
         sensorQueryWrapper.select("code").eq("is_delete", Constants.NOT_DELETE);
@@ -59,7 +60,7 @@
 
         //���������������������������
         QueryWrapper<HistoryDaily> historyDailyQueryWrapper = new QueryWrapper<>();
-        historyDailyQueryWrapper.ge("time", DateUtils.dateToDateString(start)).lt("time", DateUtils.dateToDateString(now));
+        historyDailyQueryWrapper.ge("time", DateUtils.dateToDateString(start)).lt("time", DateUtils.dateToDateString(end));
         List<Map<String, Object>> weeklyData = historyDailyService.listMaps(historyDailyQueryWrapper);
         if (weeklyData.size() == 0) {
             return;
@@ -84,13 +85,13 @@
             }
 
             //CO 95������������������������
-            Object coAvg = AmendUtils.getCOAvgOfWeek(value);
+            Object coAvg = AmendUtils.getCOAvgOfWeekOrMonth(value);
             if (coAvg != null) {
                 jsonMap.put(Constants.SENSOR_CODE_CO, coAvg);
             }
 
             //O3 90������������������������
-            Object o3Avg = AmendUtils.getO3AvgOfWeek(value);
+            Object o3Avg = AmendUtils.getO3AvgOfWeekOrMonth(value);
             if (o3Avg != null) {
                 jsonMap.put(Constants.SENSOR_CODE_O3, o3Avg);
             }
@@ -130,21 +131,4 @@
         //���������������
         historyWeeklyMapper.insertHistoryWeekly(insertData);
     }
-
-    public static void main(String[] args) {
-        List<Double> data = new ArrayList<>();
-        data.add(7d);
-        data.add(15d);
-        data.add(36d);
-        data.add(39d);
-        data.add(40d);
-        data.add(41d);
-        data.add(20d);
-        data.add(18d);
-        System.out.println(data);
-        System.out.println(AmendUtils.percentile(data, 95));
-
-    }
-
-
 }

--
Gitblit v1.8.0