From 5f29dc8a00531c8838e508474b63e6983c1c5b31 Mon Sep 17 00:00:00 2001
From: lizijie <lzjiiie@163.com>
Date: Fri, 06 Nov 2020 10:29:40 +0800
Subject: [PATCH] 变更校准值定时任务

---
 src/main/java/com/moral/task/DeviceAdjustValueTimingTask.java |   69 +++++++++++++++++++++++++++++++++-
 1 files changed, 67 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/moral/task/DeviceAdjustValueTimingTask.java b/src/main/java/com/moral/task/DeviceAdjustValueTimingTask.java
index 2eebe5e..38a31fe 100644
--- a/src/main/java/com/moral/task/DeviceAdjustValueTimingTask.java
+++ b/src/main/java/com/moral/task/DeviceAdjustValueTimingTask.java
@@ -1,20 +1,85 @@
 package com.moral.task;
 
+import com.moral.service.DeviceAdjustValueService;
+import com.moral.service.DeviceAdjustValueTimingService;
 import com.moral.util.AlarmUtils_2;
+import com.moral.util.LengthOfTimeUtils;
 import com.xxl.job.core.biz.model.ReturnT;
 import com.xxl.job.core.handler.annotation.XxlJob;
+import com.xxl.job.core.log.XxlJobLogger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
 
 @Component
 public class DeviceAdjustValueTimingTask {
     private static transient Logger logger = LoggerFactory.getLogger(DeviceAdjustValueTimingTask.class);
 
+    @Resource
+    private DeviceAdjustValueTimingService deviceAdjustValueTimingService;
+
+    @Resource
+    private DeviceAdjustValueService deviceAdjustValueService;
+
     @XxlJob("DeviceAdjustValueTiming")
     public ReturnT DeviceAdjustValueTiming(String params) {
-        AlarmUtils_2.sendMail("357328213@qq.com","���������������������","���������������������");
-        ReturnT returnT = new ReturnT(500, "dayinxinxi");
+        //������������������������������������������
+        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        LocalDateTime time = LocalDateTime.now();
+        String endTime = df.format(time);
+        // ������������ -5������
+        String startTime = df.format(time.minusMinutes(5));
+
+        try {
+            //���device_adjust_value���������������������������������������������������
+            int startTimeSeconds = LengthOfTimeUtils.Seconds(startTime);
+            int endTimeSeconds = LengthOfTimeUtils.Seconds(endTime);
+            //������list������������������������������������������������
+            List<Map<String, Object>> deviceAdjusTimingList = new ArrayList();
+            //������������������������������������������������������
+            if (startTimeSeconds>86100&&endTimeSeconds<300){
+                List<Map<String, Object>> dayBeforeList = deviceAdjustValueTimingService.selectDataBySecondSolt(startTimeSeconds,86400);
+                List<Map<String, Object>> dayNextList = deviceAdjustValueTimingService.selectDataBySecondSolt(0,endTimeSeconds);
+                deviceAdjusTimingList.addAll(dayBeforeList);
+                deviceAdjusTimingList.addAll(dayNextList);
+            }else {
+                List<Map<String, Object>> list = deviceAdjustValueTimingService.selectDataBySecondSolt(startTimeSeconds,endTimeSeconds);
+                deviceAdjusTimingList.addAll(list);
+            }
+            //������deviceAdjustimingList������������������
+            if (deviceAdjusTimingList.isEmpty()){
+                ReturnT returnT = new ReturnT(500, "���������������������������!");
+                return returnT;
+            }else {
+                //������deviceAdjustimingList������������������������������������device_adjust_value���������������������������
+                for (Map<String, Object> deviceAdjustimingMap:deviceAdjusTimingList) {
+                    int device_id = Integer.parseInt(deviceAdjustimingMap.get("device_id").toString());
+                    String value = deviceAdjustimingMap.get("value").toString();
+                    //������device_id������device_adjust_value������������������������
+                    List<Map<String, Object>> deviceAdjustValueList = deviceAdjustValueService.getDataByDevice_id(device_id);
+                    //���������������������������������������������������������������������������
+                    if (deviceAdjustValueList.isEmpty()){
+                        deviceAdjustValueService.insertData(device_id,value,endTime);
+                    }else {
+                        deviceAdjustValueService.updateValueByDeviceID(device_id,value);
+                    }
+                    ReturnT returnT = new ReturnT(500, "������������������������");
+                    return returnT;
+                }
+            }
+        }catch (Exception e){
+            XxlJobLogger.log("DeviceAdjustValueTimingException:" + e.getMessage());
+            logger.error(e.getMessage());
+            e.printStackTrace();
+        }
+        ReturnT returnT = new ReturnT(500, "������������������������");
         return returnT;
     }
 

--
Gitblit v1.8.0