lyhzzz 3 rokov pred
rodič
commit
70c4c372cb

+ 3 - 3
src/main/java/com/fdkankan/fusion/controller/CaseFusionController.java

@@ -56,11 +56,11 @@ public class CaseFusionController {
     }
 
     @PostMapping("/delete")
-    public ResultData delete(@RequestParam(required = false) Integer fusionNumId){
-        if(fusionNumId == null){
+    public ResultData delete(@RequestBody FusionParam param){
+        if(param.getFusionNumId() == null){
             throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
         }
-        return ResultData.ok(fusionNumService.removeById(fusionNumId));
+        return ResultData.ok(fusionNumService.removeById(param.getFusionNumId() ));
     }
 }
 

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

@@ -35,4 +35,6 @@ public interface IModelService extends IService<Model> {
     List<Model> getListByModelIds(List<Integer> modelIds);
 
     List<Model> getListByModelIdStrs(List<String> numList);
+
+    Model getIsNullNewByNum(String num);
 }

+ 6 - 3
src/main/java/com/fdkankan/fusion/service/impl/CaseNumServiceImpl.java

@@ -19,6 +19,7 @@ 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.stream.Collectors;
 
@@ -60,7 +61,9 @@ public class CaseNumServiceImpl extends ServiceImpl<ICaseNumMapper, CaseNumEntit
         List<CaseNumEntity> newCaseNums = new ArrayList<>();
         List<Model> modelList = new ArrayList<>();
         for (SceneNumParam param : sceneNumParam) {
-            for (String num : param.getNumList()) {
+            List<String> numList = param.getNumList();
+            HashSet<String> setNum = new HashSet<>(numList);
+            for (String num : setNum) {
                 CaseNumEntity caseNumEntity = new CaseNumEntity();
                 caseNumEntity.setCaseId(caseId);
                 caseNumEntity.setNumType(param.getType());
@@ -69,7 +72,7 @@ public class CaseNumServiceImpl extends ServiceImpl<ICaseNumMapper, CaseNumEntit
                 if(param.getType() == 3){                   //用户上传三维模型跳过
                     continue;
                 }
-                Model model = new Model();
+                Model model = modelService.getIsNullNewByNum(num);
                 model.setModelDateType("obj");
                 model.setType(param.getType());
                 model.setModelType("pointcloud");    //深时点云类型
@@ -88,7 +91,7 @@ public class CaseNumServiceImpl extends ServiceImpl<ICaseNumMapper, CaseNumEntit
             this.saveBatch(newCaseNums);
         }
         if(modelList.size() >0){
-            modelService.saveBatch(modelList);
+            modelService.saveOrUpdateBatch(modelList);
         }
     }
 

+ 11 - 0
src/main/java/com/fdkankan/fusion/service/impl/ModelServiceImpl.java

@@ -196,4 +196,15 @@ public class ModelServiceImpl extends ServiceImpl<IModelMapper, Model> implement
                 .eq(Model::getType,3);
         return this.list(wrapper);
     }
+
+    @Override
+    public Model getIsNullNewByNum(String num) {
+        LambdaQueryWrapper<Model> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(Model::getNum,num);
+        Model model = this.getOne(wrapper);
+        if(model == null){
+            model = new Model();
+        }
+        return model;
+    }
 }