Browse Source

add:添加批量删除

荭琪枫 2 years ago
parent
commit
8bdd46a1c9

+ 13 - 3
iot-common/iot-common-dao/iot-data-serviceImpl-cache/src/main/java/cc/iotkit/data/service/DeviceInfoDataCache.java

@@ -219,8 +219,8 @@ public class DeviceInfoDataCache implements IDeviceInfoData, SmartInitializingSi
     }
 
     @Override
-    public List<DeviceInfo> findByIds(Collection<String> id) {
-        return null;
+    public List<DeviceInfo> findByIds(Collection<String> ids) {
+        return deviceInfoData.findByIds(ids);
     }
 
     @Override
@@ -252,7 +252,17 @@ public class DeviceInfoDataCache implements IDeviceInfoData, SmartInitializingSi
     }
 
     @Override
-    public void deleteByIds(Collection<String> strings) {
+    public void deleteByIds(Collection<String> ids) {
+        List<DeviceInfo> deviceInfos = deviceInfoData.findByIds(ids);
+        deviceInfos.forEach(device -> {
+            deviceInfoCacheEvict.findByDeviceId(device.getDeviceId());
+            deviceInfoCacheEvict.findByProductKeyAndDeviceName(device.getProductKey(), device.getDeviceName());
+            //清除属性缓存
+            clearProperties(device.getDeviceId());
+            //更新子设备列表缓存
+            putSubDeviceIds(device.getParentId());
+        });
+        deviceInfoData.deleteByIds(ids);
     }
 
     @Override

+ 2 - 2
iot-common/iot-common-dao/iot-data-serviceImpl-cache/src/main/java/cc/iotkit/data/service/DeviceInfoPropertyDataCache.java

@@ -60,8 +60,8 @@ public class DeviceInfoPropertyDataCache implements IDeviceInfoData {
     }
 
     @Override
-    public void deleteByIds(Collection<String> strings) {
-
+    public void deleteByIds(Collection<String> ids) {
+        deviceInfoData.deleteByIds(ids);
     }
 
     @Override

+ 4 - 4
iot-common/iot-common-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/service/DeviceInfoDataImpl.java

@@ -465,8 +465,8 @@ public class DeviceInfoDataImpl implements IDeviceInfoData, IJPACommData<DeviceI
     }
 
     @Override
-    public List<DeviceInfo> findByIds(Collection<String> id) {
-        return null;
+    public List<DeviceInfo> findByIds(Collection<String> ids) {
+        return MapstructUtils.convert(deviceInfoRepository.findAllById(ids),DeviceInfo.class);
     }
 
     @Override
@@ -514,8 +514,8 @@ public class DeviceInfoDataImpl implements IDeviceInfoData, IJPACommData<DeviceI
     }
 
     @Override
-    public void deleteByIds(Collection<String> strings) {
-
+    public void deleteByIds(Collection<String> ids) {
+        deviceInfoRepository.deleteAllById(ids);
     }