Bladeren bron

更新!

TRX 1 jaar geleden
bovenliggende
commit
ac255971ae

+ 3 - 0
OneCardIotServer/src/main/java/com/zhongshu/iot/server/core/domain/iot/mqtt/DeviceInfo.java

@@ -59,6 +59,9 @@ public class DeviceInfo extends SuperEntity {
     @Schema(description = "最后上线时间")
     private String lastOnlineTimeStr;
 
+    @Schema(description = "最后下线时间")
+    private Long lastOfflineTime;
+
     @Schema(description = "所属项目")
     @DBRef(lazy = true)
     private ProjectInfo projectInfo;

+ 3 - 0
OneCardIotServer/src/main/java/com/zhongshu/iot/server/core/domain/iot/mqtt/GateWayInfo.java

@@ -53,6 +53,9 @@ public class GateWayInfo extends SuperEntity {
     @Schema(description = "最上线时间")
     private Long lastOnlineTime;
 
+    @Schema(description = "最后下线时间")
+    private Long lastOfflineTime;
+
     @Schema(description = "最大可连接失败数量")
     private Long maxConnectDevices = 10L;
 

+ 6 - 0
OneCardIotServer/src/main/java/com/zhongshu/iot/server/core/service/device/DevicePingInfoService.java

@@ -276,6 +276,9 @@ public class DevicePingInfoService extends SuperService {
         Map<String, Object> standardData = new HashMap<String, Object>();
         standardData.put("id", id);
         standardData.put("onLineState", onLineState);
+        if (onLineState == OnLineState.OffLine) {
+            standardData.put("lastOfflineTime", System.currentTimeMillis());
+        }
         commonService.updateData(standardData, DeviceInfo.class.getSimpleName());
 
         // 通知业务平台
@@ -358,6 +361,9 @@ public class DevicePingInfoService extends SuperService {
         Map<String, Object> standardData = new HashMap<String, Object>();
         standardData.put("id", id);
         standardData.put("onLineState", onLineState);
+        if (onLineState == OnLineState.OffLine) {
+            standardData.put("lastOfflineTime", System.currentTimeMillis());
+        }
         commonService.updateData(standardData, GateWayInfo.class.getSimpleName());
     }
 

+ 1 - 0
OneCardIotServer/src/main/java/com/zhongshu/iot/server/core/service/sync/DeviceSyncFullCardService.java

@@ -225,6 +225,7 @@ public class DeviceSyncFullCardService extends SuperService {
             param.setLastOnlineTime(deviceInfo.getLastOnlineTime());
             param.setOnLineState(deviceInfo.getOnLineState().name());
             param.setProjectInfoCode(deviceInfo.getProjectInfoCode());
+            param.setLastOfflineTime(deviceInfo.getLastOfflineTime());
 
             param.setState(deviceInfo.getState());
             APIResponseModel api = apiRequestService.sendFullCardAPI(FullCardAPIConfig.syncDeviceOnLineState, param);