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