Kaynağa Gözat

设备状态筛选

谭斌 1 yıl önce
ebeveyn
işleme
6e3c109007

+ 14 - 12
device-api-service/src/main/java/com/xy/service/DeviceInfoServiceImpl.java

@@ -714,18 +714,7 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
             deviceIdList.addAll(myDeviceIds);
         }
 
-        if (onlineStatus != null) {
-            List<DeviceStatus> deviceStatusList = deviceStatusService.list(Wrappers.<DeviceStatus>lambdaQuery()
-                    .eq(onlineStatus != null, DeviceStatus::getNetState, onlineStatus)
-                    .in(CollUtil.isNotEmpty(myDeviceIds), DeviceStatus::getDeviceId, deviceIdList)
-            );
-            if (CollUtil.isNotEmpty(deviceStatusList)) {
-                List<Long> dbDeviceIdList = deviceStatusList.stream().map(DeviceStatus::getDeviceId).collect(Collectors.toList());
-                deviceIdList.addAll(dbDeviceIdList);
-            } else {
-                return R.ok(new ArrayList<>());
-            }
-        }
+
         if (CollUtil.isNotEmpty(deviceIdList)) {
             dto.setDeviceIdList(deviceIdList);
             List<Long> queryDeviceIds = new ArrayList<>();
@@ -750,6 +739,19 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
         }
 
 
+        if (onlineStatus != null) {
+            List<DeviceStatus> deviceStatusList = deviceStatusService.list(Wrappers.<DeviceStatus>lambdaQuery()
+                    .eq(DeviceStatus::getNetState, onlineStatus)
+                    .in(CollUtil.isNotEmpty(myDeviceIds), DeviceStatus::getDeviceId, deviceIdList)
+            );
+            if (CollUtil.isNotEmpty(deviceStatusList)) {
+                List<Long> dbDeviceIdList = deviceStatusList.stream().map(DeviceStatus::getDeviceId).collect(Collectors.toList());
+                deviceIdList.addAll(dbDeviceIdList);
+            } else {
+                return R.ok(new ArrayList<>());
+            }
+        }
+
         List<DeviceInfoDto.MercHomeCountVO> list = this.baseMapper.merHomeCountList(dto);
         if (CollUtil.isEmpty(list)) {
             return R.ok(Collections.emptyList());