From 995a527d6e7d2d0cb141f6853b2b7a2a67b8a1c2 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Fri, 20 Nov 2020 18:00:22 +0800
Subject: [PATCH] Merge branch 'master' of http://blit.7drlb.com:8888/r/screen_job

---
 src/main/java/com/moral/task/DeviceAdjustValueTimingTask.java |   95 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 93 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..0d47fa1 100644
--- a/src/main/java/com/moral/task/DeviceAdjustValueTimingTask.java
+++ b/src/main/java/com/moral/task/DeviceAdjustValueTimingTask.java
@@ -1,20 +1,111 @@
 package com.moral.task;
 
+import com.alibaba.fastjson.JSON;
+import com.moral.entity.Device;
+import com.moral.service.DeviceAdjustValueService;
+import com.moral.service.DeviceAdjustValueTimingService;
+import com.moral.service.DeviceService;
 import com.moral.util.AlarmUtils_2;
+import com.moral.util.LengthOfTimeUtils;
+import com.moral.util.RedisUtils;
 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;
+
+    @Resource
+    private DeviceService deviceService;
+
+    @Resource
+    RedisUtils redisUtils;
+
     @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(200, "���������������������������!");
+                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);
+                    }
+                    try {
+                        // ���������redis
+                        //Map<String,String> adjustMap = new HashMap<>();
+                        if(value!=null&&!value.isEmpty()){
+                            Map<String, Object> valueMap = JSON.parseObject(value);
+                            System.out.println("valueMap:"+valueMap);
+                            if(!valueMap.isEmpty()){
+                                Device device = deviceService.getDeviceByID(device_id);
+                                String key = RedisUtils.getAdjustKey(device.getMac());
+                                redisUtils.set(key,valueMap);
+                            }
+                        }
+                    }catch (Exception e){
+                        ReturnT returnT = new ReturnT(500, "������redis���������������");
+                        return returnT;
+                    }
+                    ReturnT returnT = new ReturnT(200, "������������������������");
+                    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