lyhzzz 2 gadi atpakaļ
vecāks
revīzija
0813d9318c

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

@@ -39,4 +39,6 @@ public interface ICameraDetailService extends IService<CameraDetail> {
     void delAgentId(Integer agentId);
 
     List<CameraDetail> getByUserId(Long id);
+
+    void addUsedSpace(Long cameraId, Long space);
 }

+ 15 - 0
src/main/java/com/fdkankan/manage/service/impl/CameraDetailServiceImpl.java

@@ -217,4 +217,19 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
         wrapper.eq(CameraDetail::getUserId,userId);
         return this.list(wrapper);
     }
+
+    @Override
+    public void addUsedSpace(Long cameraId,Long space) {
+        if(space == null){
+            return;
+        }
+        CameraDetail cameraDetail = this.getByCameraId(cameraId);
+        long usedSpace = cameraDetail.getUsedSpace() - space ;
+        cameraDetail.setUsedSpace(usedSpace < 0 ? 0L :usedSpace);
+        //解封封存场景
+        if(!CacheUtil.uploadType.equals("local") && cameraDetail.getType() != 10 ){
+            sceneProService.lockOrUnLockBySpace(cameraDetail,cameraDetail.getCameraId(),1);
+        }
+        this.updateById(cameraDetail);
+    }
 }

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

@@ -436,8 +436,14 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
 
     @Override
     public void deleteByNum(String num) {
+        Integer sceneSource = null;
+        Long cameraId = null;
+        Long space = null;
         ScenePro scenePro = this.getByNum(num);
         if(scenePro!=null){
+            cameraId = scenePro.getCameraId();
+            sceneSource = scenePro.getSceneSource();
+            space = scenePro.getSpace();
             this.removeById(scenePro.getId());
         }
         Scene scene = sceneService.getByNum(num);
@@ -446,12 +452,23 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         }
         ScenePlus scenePlus = scenePlusService.getByNum(num);
         if(scenePlus!=null){
+            cameraId = scenePlus.getCameraId();
+            sceneSource = scenePlus.getSceneSource();
+            ScenePlusExt plusExt = scenePlusExtService.getByPlusId(scenePlus.getId());
+            if(plusExt != null){
+                space = plusExt.getSpace();
+                scenePlusExtService.delByPlus(scenePlus.getId());
+            }
             scenePlusService.removeById(scenePlus.getId());
             scenePlusExtService.delByPlus(scenePlus.getId());
         }
-        if(num.contains("SS")){
+        if(sceneSource != null && (sceneSource == 4 || sceneSource == 5)){
             laserService.delete(num);
         }
+        if(cameraId != null){
+            cameraDetailService.addUsedSpace(cameraId,space);
+        }
+
     }
 
     @Override