Bläddra i källkod

上传全景图,无可用jpg文件逻辑优化

dengsixing 3 år sedan
förälder
incheckning
1d838c3ebb

+ 11 - 2
4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/TestController.java

@@ -2,6 +2,8 @@ package com.fdkankan.scene.controller;
 
 
 import com.alibaba.druid.pool.DruidDataSource;
 import com.alibaba.druid.pool.DruidDataSource;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.response.ResultData;
 import com.fdkankan.common.response.ResultData;
 import com.fdkankan.mq.util.RocketMQProducer;
 import com.fdkankan.mq.util.RocketMQProducer;
 import com.fdkankan.platform.api.feign.PlatformGoodsClient;
 import com.fdkankan.platform.api.feign.PlatformGoodsClient;
@@ -14,9 +16,11 @@ import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.scene.service.IFolderService;
 import com.fdkankan.scene.service.IFolderService;
 import com.fdkankan.scene.service.IScene3dNumService;
 import com.fdkankan.scene.service.IScene3dNumService;
 import com.fdkankan.scene.service.ISceneService;
 import com.fdkankan.scene.service.ISceneService;
+import com.fdkankan.scene.service.impl.IFdkkLaserServiceImpl.Result;
 import com.fdkankan.scene.vo.SceneEditInfoVO;
 import com.fdkankan.scene.vo.SceneEditInfoVO;
 import com.fdkankan.scene.vo.SceneVO;
 import com.fdkankan.scene.vo.SceneVO;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
+import com.sun.org.apache.bcel.internal.generic.RETURN;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.concurrent.Callable;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.ExecutorService;
@@ -80,7 +84,7 @@ public class TestController {
 
 
 
 
     @PostMapping("/test")
     @PostMapping("/test")
-    public String test(String aaa) throws Exception {
+    public ResultData test(String aaa) throws Exception {
 
 
 //        JSONObject dataJson = new JSONObject();
 //        JSONObject dataJson = new JSONObject();
 //        dataJson.put("obj2txt", true);
 //        dataJson.put("obj2txt", true);
@@ -100,7 +104,12 @@ public class TestController {
 
 
         long aaaaaaa = redisUtil.incr("aaaaaaa", 1);
         long aaaaaaa = redisUtil.incr("aaaaaaa", 1);
 
 
-        return aaaaaaa + "";
+//        String test = "123";
+//        if(test.equals("123")){
+//            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
+//        }
+
+        return null;
 
 
     }
     }
 
 

+ 27 - 16
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java

@@ -55,6 +55,7 @@ import com.fdkankan.scene.vo.*;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
 import com.google.errorprone.annotations.Var;
 import com.google.errorprone.annotations.Var;
 import java.io.File;
 import java.io.File;
+import java.io.FileInputStream;
 import java.util.Date;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.List;
@@ -62,6 +63,7 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Map.Entry;
 import java.util.UUID;
 import java.util.UUID;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
+import javax.sound.sampled.AudioSystem;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
@@ -732,8 +734,8 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             .getScenePlusExtByPlusId(scenePlus.getId());
             .getScenePlusExtByPlusId(scenePlus.getId());
 
 
         //原始计算根目录
         //原始计算根目录
-      String path = "F:\\test";
-//        String path = scenePlusExt.getDataSource();
+//      String path = "F:\\test";
+        String path = scenePlusExt.getDataSource();
         //全景图计算根目录
         //全景图计算根目录
         String target = path + "_images";
         String target = path + "_images";
         //解压缩文件存放目录
         //解压缩文件存放目录
@@ -763,6 +765,21 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             throw new BusinessException(ErrorCode.FAILURE_CODE_7014);
             throw new BusinessException(ErrorCode.FAILURE_CODE_7014);
         }
         }
 
 
+        //判断是否有可用的jpg文件
+        boolean existJpg = false;
+        uploadFileList = FileUtil.getFileList(targetImagesPath);
+        if(CollUtil.isNotEmpty(uploadFileList)){
+            existJpg = uploadFileList.stream().anyMatch(str -> {
+                if(str.endsWith(".jpg")){
+                    return true;
+                }
+                return false;
+            });
+        }
+        if(!existJpg){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_5061);
+        }
+
         //列出caches/images中的文件列表
         //列出caches/images中的文件列表
         String imgCachePath = String.format(UploadFilePath.IMG_CACHES_PATH, num);
         String imgCachePath = String.format(UploadFilePath.IMG_CACHES_PATH, num);
         List<String> keyList = uploadToOssUtil.listKeys(imgCachePath);
         List<String> keyList = uploadToOssUtil.listKeys(imgCachePath);
@@ -785,20 +802,14 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
                 FileUtils.deleteFile(filePath);
                 FileUtils.deleteFile(filePath);
             });
             });
         }
         }
-
-        //判断是否有可用的jpg文件
-        boolean existJpg = false;
         uploadFileList = FileUtil.getFileList(targetImagesPath);
         uploadFileList = FileUtil.getFileList(targetImagesPath);
-        if(CollUtil.isNotEmpty(uploadFileList)){
-            existJpg = uploadFileList.stream().anyMatch(str -> {
-                if(str.endsWith(".jpg")){
-                    return true;
-                }
-                return false;
-            });
-        }
-        if(!existJpg){
-            throw new BusinessException(ErrorCode.FAILURE_CODE_5061);
+        if(CollUtil.isEmpty(uploadFileList)){
+            if(CollUtil.isNotEmpty(notExistFileList)){
+                notExistFileList = notExistFileList.stream().map(filePath -> {
+                    return filePath.substring(filePath.lastIndexOf(File.separator) + 1);
+                }).collect(Collectors.toList());
+            }
+            return ResultData.ok(notExistFileList);
         }
         }
 
 
         //上传
         //上传
@@ -860,7 +871,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         Thread.sleep(2000);
         Thread.sleep(2000);
         boolean exist = ComputerUtil.checkComputeCompleted(uploadJsonPath, maxCheckTimes, waitTime);
         boolean exist = ComputerUtil.checkComputeCompleted(uploadJsonPath, maxCheckTimes, waitTime);
         if(!exist){
         if(!exist){
-            throw new BusinessException(ErrorCode.FAILURE_CODE_5042);
+            throw new BusinessException(ErrorCode.FAILURE_CODE_7013);
         }
         }
         String uploadData = FileUtils.readFile(uploadJsonPath);
         String uploadData = FileUtils.readFile(uploadJsonPath);
         JSONObject uploadJson = null;
         JSONObject uploadJson = null;

+ 1 - 1
4dkankan-common/src/main/java/com/fdkankan/common/controller/CustomErrorController.java

@@ -30,7 +30,7 @@ public class CustomErrorController implements ErrorController {
         HttpStatus httpStatus = HttpStatus.valueOf(statusCode);
         HttpStatus httpStatus = HttpStatus.valueOf(statusCode);
         switch (httpStatus){
         switch (httpStatus){
             case INTERNAL_SERVER_ERROR :
             case INTERNAL_SERVER_ERROR :
-                message = "内部服务器异常!";
+                message = "服务器内部异常!";
                 break;
                 break;
             case NOT_FOUND:
             case NOT_FOUND:
                 message = "接口不存在!";
                 message = "接口不存在!";