lyhzzz 1 viikko sitten
vanhempi
commit
453ba1e29a

+ 4 - 0
src/main/java/com/fdkankan/manage_jp/service/IScenePlusExtService.java

@@ -3,6 +3,8 @@ package com.fdkankan.manage_jp.service;
 import com.fdkankan.manage_jp.entity.ScenePlusExt;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务类
@@ -16,4 +18,6 @@ public interface IScenePlusExtService extends IService<ScenePlusExt> {
     void delByPlus(Long plusId);
 
     ScenePlusExt getByPlusId(Long id);
+
+    List<ScenePlusExt> getDataSource(String dataSource);
 }

+ 2 - 0
src/main/java/com/fdkankan/manage_jp/service/ISceneProService.java

@@ -52,4 +52,6 @@ public interface ISceneProService extends IService<ScenePro> {
 
     void updateDelSourceV3(String num);
     void updateDelSourceV4(String num);
+
+    List<ScenePro> getDataSource(String dataSource);
 }

+ 9 - 0
src/main/java/com/fdkankan/manage_jp/service/impl/ScenePlusExtServiceImpl.java

@@ -7,6 +7,8 @@ import com.fdkankan.manage_jp.service.IScenePlusExtService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -31,4 +33,11 @@ public class ScenePlusExtServiceImpl extends ServiceImpl<IScenePlusExtMapper, Sc
         wrapper.eq(ScenePlusExt::getPlusId,id);
         return getOne(wrapper);
     }
+
+    @Override
+    public List<ScenePlusExt> getDataSource(String dataSource) {
+        LambdaQueryWrapper<ScenePlusExt> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(ScenePlusExt::getDataSource,dataSource);
+        return list(wrapper);
+    }
 }

+ 7 - 0
src/main/java/com/fdkankan/manage_jp/service/impl/SceneProServiceImpl.java

@@ -571,4 +571,11 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     public void updateDelSourceV4(String num) {
         this.getBaseMapper().updateDelSourceV4(num);
     }
+
+    @Override
+    public List<ScenePro> getDataSource(String dataSource) {
+        LambdaQueryWrapper<ScenePro> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(ScenePro::getDataSource,dataSource);
+        return list(wrapper);
+    }
 }

+ 20 - 4
src/main/java/com/fdkankan/manage_jp/task/TaskService.java

@@ -4,12 +4,11 @@ import cn.hutool.core.io.FileUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.fyun.face.FYunFileServiceInterface;
 import com.fdkankan.manage_jp.config.ManageConfig;
-import com.fdkankan.manage_jp.entity.Project;
-import com.fdkankan.manage_jp.entity.ProjectSceneGps;
-import com.fdkankan.manage_jp.entity.ScenePlus;
-import com.fdkankan.manage_jp.entity.ScenePro;
+import com.fdkankan.manage_jp.entity.*;
 import com.fdkankan.manage_jp.httpClient.service.LaserService;
 import com.fdkankan.manage_jp.service.IProjectSceneGpsService;
+import com.fdkankan.manage_jp.service.IScenePlusExtService;
+import com.fdkankan.manage_jp.service.IScenePlusService;
 import com.fdkankan.manage_jp.service.ISceneProService;
 import com.fdkankan.manage_jp.vo.response.SceneGpsDb;
 import lombok.extern.slf4j.Slf4j;
@@ -31,6 +30,10 @@ public class TaskService {
     LaserService laserService;
     @Autowired
     ISceneProService sceneProService;
+    @Autowired
+    IScenePlusService scenePlusService;
+    @Autowired
+    IScenePlusExtService scenePlusExtService;
 
 
     @Scheduled(initialDelay = 2000, fixedDelay = 1000 * 60 )
@@ -156,6 +159,14 @@ public class TaskService {
     );
     private void delSource(String num,String dataSource){
         try {
+            if(StringUtils.isBlank(num)){
+                return;
+            }
+            ScenePro scenePro = sceneProService.getByNum(num);
+            ScenePlus scenePlus = scenePlusService.getByNum(num);
+            if(scenePro != null || scenePlus != null){
+                return;
+            }
             String active = manageConfig.getActive();
             String laserOssPath = "laser_u_data/"+ num;
             if(active.contains("prod")){
@@ -183,6 +194,11 @@ public class TaskService {
             }
 
             if(StringUtils.isNotBlank(dataSource)){
+                List<ScenePro> scenePros = sceneProService.getDataSource(dataSource);
+                List<ScenePlusExt> scenePlusExts = scenePlusExtService.getDataSource(dataSource);
+                if(!scenePros.isEmpty() || !scenePlusExts.isEmpty()){
+                    return;
+                }
                 log.info("del-scene:{},nas-path:{}",num,dataSource);
                 FileUtil.del(dataSource);
                 for (String meshPath : meshNasDataSourcePath) {