xucaiqin před 1 rokem
rodič
revize
541c798358

+ 1 - 1
iot-module/iot-module-manage/iot-module-manage-biz/src/main/java/com/middle/platform/manage/biz/domain/req/IotDevicePara.java

@@ -33,7 +33,7 @@ public class IotDevicePara {
     /**
      * 设备sn码
      */
-//    @NotBlank(message = "SN不能为空")
+    @NotBlank(message = "SN不能为空")
     @Size(max = 50, message = "SN需介于0-50字符")
     private String sn;
 

+ 7 - 2
iot-module/iot-module-manage/iot-module-manage-biz/src/main/java/com/middle/platform/manage/biz/service/IotDeviceService.java

@@ -40,6 +40,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
 import java.time.LocalDateTime;
+import java.time.temporal.ChronoUnit;
 import java.util.List;
 import java.util.Objects;
 import java.util.Optional;
@@ -70,10 +71,14 @@ public class IotDeviceService {
         PageHelper.startPage(devicePage.getPage(), devicePage.getPageSize());
         List<IotDeviceVo> iotProductVos = iotDeviceMapper.pageQuery(devicePage);
         PageInfo<IotDeviceVo> pageInfo = new PageInfo<>(iotProductVos);
+        LocalDateTime now = LocalDateTime.now();
         iotProductVos.forEach(a -> {
             Optional.ofNullable(cacheService.getKey(String.format(CacheConstant.ONLINE_CACHE, a.getGuid()))).ifPresent(t -> {
-                a.setOnlineTime(LocalDateTimeUtil.parse((String) t));
-                a.setStatus(1);
+                LocalDateTime parse = LocalDateTimeUtil.parse((String) t);
+                if (Objects.nonNull(parse)) {
+                    a.setOnlineTime(LocalDateTimeUtil.parse((String) t));
+                    a.setStatus(LocalDateTimeUtil.between(parse, now, ChronoUnit.MINUTES) > 10L ? 0 : 1);
+                }
             });
             Optional.ofNullable(userApi.queryUser(a.getCreateBy())).ifPresent(userCache -> a.setCreateByLabel(userCache.getName()));
             Optional.ofNullable(userApi.queryUser(a.getUpdateBy())).ifPresent(userCache -> a.setUpdateByLabel(userCache.getName()));