Ver código fonte

迁移场景,协作者跟随相机走

lyhzzz 2 anos atrás
pai
commit
7145171b40

+ 2 - 0
src/main/java/com/fdkankan/manage/service/ISceneCooperationService.java

@@ -14,4 +14,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
 public interface ISceneCooperationService extends IService<SceneCooperation> {
 
     void deleteCooperation(Long cameraId);
+
+    void delByNum(String num);
 }

+ 13 - 1
src/main/java/com/fdkankan/manage/service/impl/SceneCooperationServiceImpl.java

@@ -42,9 +42,21 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
             List<SceneCooperation> list = this.list(wrapper);
             List<Long> ids = list.stream().map(SceneCooperation::getId).collect(Collectors.toList());
             if(ids.size() >0){
-                sceneResourceCooperationService.removeByIds(ids);
+                this.removeByIds(ids);
                 sceneResourceCooperationService.deleteBatchByCooperationIds(ids);
             }
         }
     }
+
+    @Override
+    public void delByNum(String num) {
+        LambdaQueryWrapper<SceneCooperation> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(SceneCooperation::getSceneNum,num);
+        List<SceneCooperation> list = this.list(wrapper);
+        List<Long> ids = list.stream().map(SceneCooperation::getId).collect(Collectors.toList());
+        if(ids.size() >0){
+            this.removeByIds(ids);
+            sceneResourceCooperationService.deleteBatchByCooperationIds(ids);
+        }
+    }
 }

+ 1 - 3
src/main/java/com/fdkankan/manage/service/impl/SceneProServiceImpl.java

@@ -449,9 +449,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             folderSceneService.delBySceneId(scenePlus.getId());
         }
         //协作相机
-        if(cameraDetail.getCooperationUser() != null){
-            sceneResourceCameraService.setCooperationUser(cameraDetail,param.getNum());
-        }
+        sceneResourceCameraService.setCooperationUser(cameraDetail,param.getNum());
         if(cameraDetail.getType() == 10){       //深时场景
             laserService.move(param.getNum(),oldCamera.getSnCode(),camera.getSnCode(),cameraDetail.getUserId());
         }

+ 4 - 0
src/main/java/com/fdkankan/manage/service/impl/SceneResourceCameraServiceImpl.java

@@ -52,6 +52,10 @@ public class SceneResourceCameraServiceImpl extends ServiceImpl<ISceneResourceCa
 
     @Override
     public void setCooperationUser(CameraDetail cameraDetail, String num) {
+        if(cameraDetail.getCooperationUser() == null){
+            sceneCooperationService.delByNum(num);
+            return;
+        }
         List<SceneResourceCamera> list = this.getByCameraId(cameraDetail.getCameraId());
         if(list.size() >0){
             List<Long> resourceIdList = list.stream().map(SceneResourceCamera::getSceneResourceId).collect(Collectors.toList());

+ 5 - 3
src/main/java/com/fdkankan/manage/service/impl/SceneResourceCooperationServiceImpl.java

@@ -22,8 +22,10 @@ public class SceneResourceCooperationServiceImpl extends ServiceImpl<ISceneResou
 
     @Override
     public void deleteBatchByCooperationIds(List<Long> cooperationIds) {
-        LambdaQueryWrapper<SceneResourceCooperation> wrapper = new LambdaQueryWrapper<>();
-        wrapper.in(SceneResourceCooperation::getSceneCooperationId,cooperationIds);
-        this.remove(wrapper);
+        if(cooperationIds != null && cooperationIds.size() >0){
+            LambdaQueryWrapper<SceneResourceCooperation> wrapper = new LambdaQueryWrapper<>();
+            wrapper.in(SceneResourceCooperation::getSceneCooperationId,cooperationIds);
+            this.remove(wrapper);
+        }
     }
 }