lyhzzz 3 months ago
parent
commit
191b753fde

+ 46 - 2
src/main/java/com/fdkankan/manage/constant/SceneTypeLabelEnum.java

@@ -1,5 +1,6 @@
 package com.fdkankan.manage.constant;
 
+import lombok.Data;
 import org.apache.commons.lang3.StringUtils;
 
 import java.util.Arrays;
@@ -28,10 +29,30 @@ public enum SceneTypeLabelEnum {
     String name;
     Integer cameraType;
     List<Integer> sceneSource;
-
     Boolean isLaser;
 
-    SceneTypeLabelEnum(Integer labelType, String name,Integer cameraType,List<Integer>sceneSource ,Boolean isLaser) {
+
+    public Integer getLabelType() {
+        return labelType;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public Integer getCameraType() {
+        return cameraType;
+    }
+
+    public List<Integer> getSceneSource() {
+        return sceneSource;
+    }
+
+    public Boolean getLaser() {
+        return isLaser;
+    }
+
+    SceneTypeLabelEnum(Integer labelType, String name, Integer cameraType, List<Integer>sceneSource , Boolean isLaser) {
         this.labelType = labelType;
         this.name = name;
         this.cameraType = cameraType;
@@ -54,5 +75,28 @@ public enum SceneTypeLabelEnum {
                 .collect(Collectors.toList());
     }
 
+    public static SceneTypeLabelEnum getByLabelType(Integer labelType){
+        if(labelType == null){
+            return null;
+        }
+        for (SceneTypeLabelEnum value : SceneTypeLabelEnum.values()) {
+            if(value.labelType.equals(labelType)){
+                return value;
+            }
+        }
+        return null;
+    }
+
 
+    public static Boolean isLaserBySceneSource(Integer sceneSource){
+        if(sceneSource == null){
+            return false;
+        }
+        for (SceneTypeLabelEnum value : SceneTypeLabelEnum.values()) {
+            if(value.getSceneSource().contains(sceneSource) && value.getLaser()){
+                return true;
+            }
+        }
+        return false;
+    }
 }

+ 11 - 15
src/main/java/com/fdkankan/manage/service/impl/SceneProServiceImpl.java

@@ -206,6 +206,12 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
 
     @Override
     public PageInfo pageList(SceneParam param) {
+
+        SceneTypeLabelEnum sceneTypeLabelEnum = SceneTypeLabelEnum.getByLabelType(param.getType());
+        if(sceneTypeLabelEnum == null){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+
         if(param.getType() == 3){ //双目lite
            return sceneService.pageList(param);
         }
@@ -236,9 +242,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             return PageInfo.PageInfoEmpty(param.getPageNum(),param.getPageSize());
         }
         HashMap<String, JSONObject> laserMap = new HashMap<>();
-        if(param.getType()!=null){
-            param.setIsLaser(NumTypeUtils.isLaser(param.getType()));
-        }
+        param.setIsLaser(sceneTypeLabelEnum.getLaser());
 
         Page<SceneVo> page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
         List<SceneVo> records = page.getRecords();
@@ -257,17 +261,9 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             List<Long> cameraIds = records.parallelStream().map(SceneVo::getCameraId).collect(Collectors.toList());
             cameraMap = cameraService.getByIds(cameraIds);
 
-            if(param.getType() == 2){
-                laserMap = laserService.list(sceneNumList,4);
-            }
-            if(param.getType() == 6 ){
-                laserMap = laserService.list(sceneNumList,5);
-            }
-            if(param.getType() == 8 ){
-                laserMap = laserService.list(sceneNumList,7);
-            }
-            if(param.getType() == 57 ){
-                laserMap = laserService.list(sceneNumList,57);
+            if(param.getIsLaser()){
+                laserMap = laserService.list(sceneNumList,sceneTypeLabelEnum.getSceneSource().get(0));
+
             }
 
             List<String> modelingNumList = page.getRecords().stream().filter(e -> e.getStatus() == 0).map(SceneVo::getNum).collect(Collectors.toList());
@@ -291,7 +287,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
                     record.setWebSite(null);
                 }
             }else {
-                if(record.getSceneSource() != null && (record.getSceneSource()== 4 || record.getSceneSource() == 5 || record.getSceneSource() == 7|| record.getSceneSource() == 57)){
+                if(record.getSceneSource() != null && (SceneTypeLabelEnum.isLaserBySceneSource(record.getSceneSource()))){
                     record.setComputeTime(record.getMeshComputeTime());
                 }
             }