From 8bb914874ef1ebcda2a9c606224bf3e3db2f46f8 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Mon, 23 Nov 2020 09:51:55 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/main/java/com/moral/task/DeviceAdjustValueTimingTask.java | 99 +++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 95 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/moral/task/DeviceAdjustValueTimingTask.java b/src/main/java/com/moral/task/DeviceAdjustValueTimingTask.java
index e49963e..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);
- @XxlJob("RabbitMQRealtimeMinutely")
- public ReturnT insertRabbitMQRealtimeMinutely(String params) {
- AlarmUtils_2.sendMail("357328213@qq.com","���������������������","���������������������");
- ReturnT returnT = new ReturnT(500, "dayinxinxi");
+ @Resource
+ private DeviceAdjustValueTimingService deviceAdjustValueTimingService;
+
+ @Resource
+ private DeviceAdjustValueService deviceAdjustValueService;
+
+ @Resource
+ private DeviceService deviceService;
+
+ @Resource
+ RedisUtils redisUtils;
+
+ @XxlJob("DeviceAdjustValueTiming")
+ public ReturnT DeviceAdjustValueTiming(String params) {
+ //������������������������������������������
+ 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