Explorar o código

协作资源bug

lyhzzz hai 1 ano
pai
achega
168fc3fb8f

+ 11 - 20
src/main/java/com/fdkankan/ucenter/service/impl/CameraServiceImpl.java

@@ -340,24 +340,16 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
         sceneResourceCameraService.deleteByCameraIds(cameraIds);
 
         //保存相机和场景资源的关联关系你
-        String resourceType = "all";
         List<Long> resourceIdList = new ArrayList<>();
+        List<SceneResource> v3List = new ArrayList<>();
+        List<SceneResource> v4List = new ArrayList<>();
         if (StringUtils.isNotEmpty(resourceIds)) {
             for (String rId : resourceIds.split(",")) {
                 resourceIdList.add(Long.valueOf(rId));
             }
             List<SceneResource> sceneResources = sceneResourceService.listByIds(resourceIdList);
-            List<SceneResource> v3List = sceneResources.stream().filter(entity -> entity.getVersion().equals("v3")).collect(Collectors.toList());
-            List<SceneResource> v4List = sceneResources.stream().filter(entity -> entity.getVersion().equals("v4")).collect(Collectors.toList());
-            if(v3List.size() >0 && v4List.size() >0){
-                resourceType = "all";
-            }
-            if(v3List.size() >0 && v4List.size() <=0){
-                resourceType = "v3";
-            }
-            if(v3List.size() <=0 && v4List.size() >0){
-                resourceType = "v4";
-            }
+            v3List = sceneResources.stream().filter(entity -> entity.getVersion().equals("v3")).collect(Collectors.toList());
+            v4List = sceneResources.stream().filter(entity -> entity.getVersion().equals("v4")).collect(Collectors.toList());
 
             sceneResourceCameraService.saveBatchByCameraIds(cameraIds,resourceIdList);
         }else {
@@ -373,6 +365,9 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
                 List<SceneResource> sceneResources = sceneResourceService.list();
                 List<Long> collect = sceneResources.stream().map(SceneResource::getId).collect(Collectors.toList());
                 sceneResourceCameraService.saveBatchByCameraIds(laserCameraIds,collect);
+
+                v3List = sceneResources.stream().filter(entity -> entity.getVersion().equals("v3")).collect(Collectors.toList());
+                v4List = sceneResources.stream().filter(entity -> entity.getVersion().equals("v4")).collect(Collectors.toList());
             }
 
         }
@@ -381,14 +376,10 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
         List<ScenePlus> scenePlusList = scenePlusService.getListByCameraIds(cameraIds);
         sceneCooperationService.deleteCooperationList(sceneProList,scenePlusList);
 
-        switch (resourceType){
-            case "v3" :
-                sceneCooperationService.saveBatchByList(sceneProList,new ArrayList<>(),user.getId(),resourceIdList); break;
-            case "v4" :
-                sceneCooperationService.saveBatchByList(new ArrayList<>(),scenePlusList,user.getId(),resourceIdList); break;
-            default:
-                sceneCooperationService.saveBatchByList(sceneProList,scenePlusList,user.getId(),resourceIdList); break;
-        }
+        List<Long> v3Ids = v3List.stream().map(SceneResource::getId).collect(Collectors.toList());
+        List<Long> v4Ids = v4List.stream().map(SceneResource::getId).collect(Collectors.toList());
+        sceneCooperationService.saveBatchByList(sceneProList,new ArrayList<>(),user.getId(),v3Ids);
+        sceneCooperationService.saveBatchByList(new ArrayList<>(),scenePlusList,user.getId(),v4Ids);
 
         fdkkLaserService.disableCooperation(detailMap, cameraMap);
         fdkkLaserService.enableCameraCooperation(detailMap, cameraMap, username);