Browse Source

Merge branch 'dev' of http://git.sckaiwu.cn/17358629955/slope-manage-service into dev

15928045575 2 years ago
parent
commit
cc24f26204

+ 23 - 5
slope-modules/slope-detection/src/main/java/com/sckw/slope/detection/consumer/MqttDeviceCallbackHandler.java

@@ -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<>();