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