diff --git a/src/main/java/com/isu/gaswellwatch/service/impl/DeviceServiceImpl.java b/src/main/java/com/isu/gaswellwatch/service/impl/DeviceServiceImpl.java index 2e0fea1..c53b6cd 100644 --- a/src/main/java/com/isu/gaswellwatch/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/isu/gaswellwatch/service/impl/DeviceServiceImpl.java @@ -19,6 +19,7 @@ import com.isu.gaswellwatch.exception.BusinessException; import com.isu.gaswellwatch.modbus.data.CacheService; import com.isu.gaswellwatch.modbus.data.PersistenceHandler; import com.isu.gaswellwatch.modbus.data.Redis2DBPersistenceService; +import com.isu.gaswellwatch.modbus.data.decode.impl.LocalDateTimeDecodeHandler; import com.isu.gaswellwatch.service.*; import com.isu.gaswellwatch.utils.ConverterUtil; import com.isu.gaswellwatch.vo.*; @@ -36,6 +37,7 @@ import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDateTime; import java.util.*; @@ -98,6 +100,7 @@ public class DeviceServiceImpl extends ServiceImpl implements Map miWepsPlugStatus = this.dictionaryService.getValueMapByType("miWepsPlugStatus"); try { + LocalDateTime now = LocalDateTime.now(), earliestTime = now.minusMinutes(5); for (DeviceVO deviceVO : deviceVOList) { String deviceKey = PersistenceHandler.DEVICE_DATA_CACHE + deviceVO.getId(); Object online = this.redisTemplate.opsForHash().get(deviceKey, "online"); @@ -107,6 +110,15 @@ public class DeviceServiceImpl extends ServiceImpl implements continue; } + Object collectionTime = this.redisTemplate.opsForHash().get(deviceKey, "collectionTime"); + if (Objects.nonNull(collectionTime)) { + LocalDateTime collectionLocalDateTime = LocalDateTime.parse(String.valueOf(collectionTime), + LocalDateTimeDecodeHandler.OUT_FORMATTER); + if (earliestTime.isBefore(collectionLocalDateTime)) { + continue; + } + } + Object casPressure = this.redisTemplate.opsForHash().get(deviceKey, "casPressure"); deviceVO.setCasPressure(casPressure == null ? "" : casPressure.toString()); diff --git a/src/main/resources/mapper/DeviceDao.xml b/src/main/resources/mapper/DeviceDao.xml index 720d15c..8e2e6a4 100644 --- a/src/main/resources/mapper/DeviceDao.xml +++ b/src/main/resources/mapper/DeviceDao.xml @@ -48,7 +48,6 @@ order by u.id desc - limit 10