Sfoglia il codice sorgente

删除场景,删除对应资源

lyhzzz 2 anni fa
parent
commit
803a89ba2b

+ 2 - 0
src/main/java/com/fdkankan/fusion/service/ICaseNumService.java

@@ -27,4 +27,6 @@ public interface ICaseNumService extends IService<CaseNumEntity> {
     HashMap<Integer, List<String>> getTypeMap(Integer caseId);
 
     List<CaseNumEntity> getByNum(String num);
+
+    void deleteByNum(String num);
 }

+ 2 - 0
src/main/java/com/fdkankan/fusion/service/ICaseViewService.java

@@ -24,4 +24,6 @@ public interface ICaseViewService extends IService<CaseView> {
     void deleteByNumList(Integer caseId, List<String> updateNumList);
 
     void deleteByCaseId(Integer caseId);
+
+    void deleteByNum(String num);
 }

+ 21 - 4
src/main/java/com/fdkankan/fusion/service/impl/CaseNumServiceImpl.java

@@ -17,10 +17,7 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -54,6 +51,8 @@ public class CaseNumServiceImpl extends ServiceImpl<ICaseNumMapper, CaseNumEntit
     IFusionGuidePathService fusionGuidePathService;
     @Autowired
     ICaseTagService caseTagService;
+    @Autowired
+    ICaseTagPointService caseTagPointService;
 
 
     @Override
@@ -220,4 +219,22 @@ public class CaseNumServiceImpl extends ServiceImpl<ICaseNumMapper, CaseNumEntit
         wrapper.eq(CaseNumEntity::getNum,num);
         return this.list(wrapper);
     }
+
+    @Override
+    public void deleteByNum(String num) {
+        LambdaQueryWrapper<CaseNumEntity> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(CaseNumEntity::getNum,num);
+        this.remove(wrapper);
+        List<Model> modelList = modelService.getListByNum(Arrays.asList(num));
+        if(modelList.size() >0){
+            List<Integer> modelIds = modelList.parallelStream().map(Model::getModelId).collect(Collectors.toList());
+            for (Model model : modelList) {
+                fusionNumService.deleteByModelId(model.getModelId());
+                fusionMeterService.deleteByModelId(model.getModelId());
+            }
+            caseTagPointService.deleteByModelIds(modelIds);
+        }
+        caseViewService.deleteByNum(num);
+
+    }
 }

+ 13 - 0
src/main/java/com/fdkankan/fusion/service/impl/CaseServiceImpl.java

@@ -102,6 +102,19 @@ public class CaseServiceImpl extends ServiceImpl<ICaseMapper, CaseEntity> implem
                 sceneVo.setCreateTime(createTime);
             }
         }
+        //官网删除的场景,删除对应资源
+        List<String> kkNumList = param.getTypeMap().get(1);
+        List<String> ssNumList = param.getTypeMap().get(2);
+        kkNumList.addAll(ssNumList);
+        if(ssNumList.size() >0){
+            List<String> numList = listAll.parallelStream().map(SceneVo::getNum).collect(Collectors.toList());
+            for (String num : kkNumList) {
+                if(!numList.contains(num)){
+                    caseNumService.deleteByNum(num);
+                }
+            }
+        }
+
         List<String> numList = param.getTypeMap().get(3);       //关联的三维模型
         if(numList!=null && numList.size() >0){
             List<Model> models = modelService.getListByModelIdStrs(numList);

+ 7 - 0
src/main/java/com/fdkankan/fusion/service/impl/CaseViewServiceImpl.java

@@ -105,4 +105,11 @@ public class CaseViewServiceImpl extends ServiceImpl<ICaseViewMapper, CaseView>
         queryW.eq(CaseView::getCaseId,caseId);
         this.remove(queryW);
     }
+
+    @Override
+    public void deleteByNum(String num) {
+        LambdaQueryWrapper<CaseView> queryW = new LambdaQueryWrapper<>();
+        queryW.eq(CaseView::getNum,num);
+        this.remove(queryW);
+    }
 }

+ 1 - 1
src/main/java/com/fdkankan/fusion/service/impl/FusionMeterServiceImpl.java

@@ -63,7 +63,7 @@ public class FusionMeterServiceImpl extends ServiceImpl<IFusionMeterMapper, Fusi
     @Override
     public void deleteByModelId(Integer modelId) {
         LambdaQueryWrapper<FusionMeter> wrapper = new LambdaQueryWrapper<>();
-        wrapper.like(FusionMeter::getPosition,"%\"modelId\":\""+modelId+"\"%");
+        wrapper.like(FusionMeter::getPosition,"\"modelId\":\""+modelId+"\"");
         this.remove(wrapper);
     }