|
|
@@ -31,8 +31,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
-import java.time.LocalDateTime;
|
|
|
-import java.time.ZoneOffset;
|
|
|
+import java.time.*;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -95,7 +94,7 @@ public class MqttDeviceCallbackHandler extends AbstractHandler {
|
|
|
}
|
|
|
if (device == null) {
|
|
|
log.error("接收处理数据:{}", payload);
|
|
|
- log.error("设备数据并未维护+["+devicesAlarm.getGuid()+"],不做处理");
|
|
|
+ log.error("设备数据并未维护+[" + devicesAlarm.getGuid() + "],不做处理");
|
|
|
return null;
|
|
|
}
|
|
|
List<DevicesItem> devicesItemList = devicesAlarm.getDevicesItemList();
|
|
|
@@ -112,6 +111,10 @@ public class MqttDeviceCallbackHandler extends AbstractHandler {
|
|
|
continue;
|
|
|
}
|
|
|
Long ts = devicesAlarm.getTs();
|
|
|
+// //获取到是 十位 1700970600
|
|
|
+// if (Objects.nonNull(ts)) {
|
|
|
+// ts = ts * 1000;
|
|
|
+// }
|
|
|
//判断是否满足设备超时离线报警
|
|
|
checkDeviceAlarm(deviceCode, device, itemValue, ts);
|
|
|
//判断是否满足数值超阈值报警
|
|
|
@@ -418,7 +421,8 @@ public class MqttDeviceCallbackHandler extends AbstractHandler {
|
|
|
alarm.setTitle("2");
|
|
|
alarm.setLevel(level.intValue());
|
|
|
alarm.setType(2);
|
|
|
- LocalDateTime localDateTime = new Date(ts).toInstant().atOffset(ZoneOffset.of("+8")).toLocalDateTime();
|
|
|
+ LocalDateTime localDateTime = Instant.ofEpochSecond(ts).atZone(ZoneId.systemDefault()).toLocalDateTime();
|
|
|
+// LocalDateTime localDateTime = new Date(ts).toInstant().atOffset(ZoneOffset.of("+8")).toLocalDateTime();
|
|
|
alarm.setCreateTime(localDateTime);
|
|
|
alarm.setUpdateTime(localDateTime);
|
|
|
alarm.setStatus(0);
|
|
|
@@ -439,7 +443,8 @@ public class MqttDeviceCallbackHandler extends AbstractHandler {
|
|
|
alarmDetailMapper.insert(alarmDetail);
|
|
|
} else {
|
|
|
KwsAlarm alarm = alarms.get(0);
|
|
|
- LocalDateTime localDateTime = new Date(ts).toInstant().atOffset(ZoneOffset.of("+8")).toLocalDateTime();
|
|
|
+ LocalDateTime localDateTime = Instant.ofEpochSecond(ts).atZone(ZoneId.systemDefault()).toLocalDateTime();
|
|
|
+// LocalDateTime localDateTime = new Date(ts).toInstant().atOffset(ZoneOffset.of("+8")).toLocalDateTime();
|
|
|
alarm.setUpdateTime(localDateTime);
|
|
|
alarmMapper.updateById(alarm);
|
|
|
}
|
|
|
@@ -472,6 +477,19 @@ public class MqttDeviceCallbackHandler extends AbstractHandler {
|
|
|
|
|
|
public static void main(String[] args) {
|
|
|
|
|
|
+ Long ts = 1700969880l;
|
|
|
+ Instant timestamp = Instant.ofEpochSecond(ts);
|
|
|
+
|
|
|
+ ts = ts * 1000;
|
|
|
+ Instant instant = new Date(ts).toInstant();
|
|
|
+ OffsetDateTime offsetDateTime = instant.atOffset(ZoneOffset.of("+8"));
|
|
|
+ LocalDateTime timeLocalDateTime = offsetDateTime.toLocalDateTime();
|
|
|
+
|
|
|
+ instant = Instant.ofEpochMilli(ts);
|
|
|
+ ZonedDateTime zonedDateTime = instant.atZone(ZoneId.systemDefault());
|
|
|
+ LocalDateTime localDateTimes = zonedDateTime.toLocalDateTime();
|
|
|
+ System.out.println(localDateTimes);
|
|
|
+
|
|
|
String aaa = "{\"ts\":1700808976,\"guid\":\"0838161D-4C64-EC3E-A3A8-C736C47D93D4\",\"tslver_id\":\"3\",\"msg_id\":\"586569123094614016\",\"raw_ts\":\"\",\"check_arr\":[{\"itemName\":\"lng\",\"itemValue\":\"103.51826198069217\"},{\"itemName\":\"lat\",\"itemValue\":\"29.46725728245242\"},{\"itemName\":\"high\",\"itemValue\":\"710.1730218537282\"},{\"itemName\":\"fix\",\"itemValue\":4015},{\"itemName\":\"e\",\"itemValue\":\"302.7644742928626\"},{\"itemName\":\"n\",\"itemValue\":\"711.0632664506148\"},{\"itemName\":\"u\",\"itemValue\":\"-271.97856155098333\"},{\"itemName\":\"num\",\"itemValue\":7200},{\"itemName\":\"time\",\"itemValue\":\"2023-11-0818:00:00\"}]}";
|
|
|
DevicesAlarm alarm = new DevicesAlarm();
|
|
|
List<DevicesItem> list = new ArrayList<>();
|