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