dengsixing 6 päivää sitten
vanhempi
commit
f92ec5e1aa
21 muutettua tiedostoa jossa 382 lisäystä ja 407 poistoa
  1. 25 2
      src/main/java/com/fdkankan/scene/constant/ConstantFileLocPath.java
  2. 69 69
      src/main/java/com/fdkankan/scene/controller/FileConvertController.java
  3. 24 24
      src/main/java/com/fdkankan/scene/service/IFileConvertService.java
  4. 2 0
      src/main/java/com/fdkankan/scene/service/IScenePlusService.java
  5. 0 2
      src/main/java/com/fdkankan/scene/service/ISceneService.java
  6. 1 2
      src/main/java/com/fdkankan/scene/service/impl/BoxModelServiceImpl.java
  7. 3 2
      src/main/java/com/fdkankan/scene/service/impl/CommonServiceImpl.java
  8. 4 3
      src/main/java/com/fdkankan/scene/service/impl/CutModelServiceImpl.java
  9. 3 3
      src/main/java/com/fdkankan/scene/service/impl/DownloadTourVideoServiceImpl.java
  10. 185 185
      src/main/java/com/fdkankan/scene/service/impl/FileConvertServiceImpl.java
  11. 2 2
      src/main/java/com/fdkankan/scene/service/impl/RemovePortraitServiceImpl.java
  12. 3 3
      src/main/java/com/fdkankan/scene/service/impl/SceneCleanOrigServiceImpl.java
  13. 4 3
      src/main/java/com/fdkankan/scene/service/impl/SceneDrawServiceImpl.java
  14. 6 5
      src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoExtServiceImpl.java
  15. 27 34
      src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java
  16. 0 1
      src/main/java/com/fdkankan/scene/service/impl/SceneFileBuildServiceImpl.java
  17. 6 3
      src/main/java/com/fdkankan/scene/service/impl/SceneMarkShapeServiceImpl.java
  18. 7 13
      src/main/java/com/fdkankan/scene/service/impl/ScenePlusServiceImpl.java
  19. 9 10
      src/main/java/com/fdkankan/scene/service/impl/SceneProServiceImpl.java
  20. 1 39
      src/main/java/com/fdkankan/scene/service/impl/SceneServiceImpl.java
  21. 1 2
      src/main/java/com/fdkankan/scene/service/impl/SceneUploadServiceImpl.java

+ 25 - 2
src/main/java/com/fdkankan/scene/constant/ConstantFileLocPath.java

@@ -1,5 +1,8 @@
 package com.fdkankan.scene.constant;
 
+import com.fdkankan.model.constants.ConstantFileName;
+import com.fdkankan.model.constants.ConstantFilePath;
+
 import java.io.File;
 
 /**
@@ -7,7 +10,27 @@ import java.io.File;
  * @date 2023/3/17
  */
 public class ConstantFileLocPath {
-    public static final String SCENE_DATA_PATH_V4 = File.separator + "scene_v4" + File.separator + "%s" + File.separator + "data" + File.separator;
-    public static final String SCENE_USER_PATH_V4 = File.separator + "scene_v4" + File.separator + "%s" + File.separator + "user" + File.separator;
+
+    public static final String SCENE_V4_PATH = "scene_v4" + File.separator;
+
+    public static final String SCENE_DATA_PATH_V4 = SCENE_V4_PATH + "%s" + File.separator + "data" + File.separator;
+    public static final String SCENE_USER_PATH_V4 = SCENE_V4_PATH + "%s" + File.separator + "user" + File.separator;
+
+    // 场景
+//    public static final String SCENE_PATH = "/mnt/4Dkankan/scene/";
+
+    //生成模型的路径
+//    public static final String BUILD_MODEL_PATH = "/mnt/data/";
+
+    public static final String SCENE_CACHE = "%s" + File.separator + "caches" + File.separator;
+
+    public static final String SCENE_CACHE_IMAGES = SCENE_CACHE + "images" + File.separator;
+
+    public static final String IMAGESBUFFER_FORMAT = SCENE_V4_PATH + "images/images%s/";
+
+    public static final String DATABUFFER_FORMAT = SCENE_V4_PATH + "data/data%s/";
+
+
+
 
 }

+ 69 - 69
src/main/java/com/fdkankan/scene/controller/FileConvertController.java

@@ -1,69 +1,69 @@
-package com.fdkankan.scene.controller;
-
-import com.fdkankan.scene.service.IFileConvertService;
-import com.fdkankan.web.controller.BaseController;
-import com.fdkankan.web.response.ResultData;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
-
-/**
- * <p>
- * -
- * </p>
- *
- * @author dengsixing
- * @since 2022/5/17
- **/
-@RestController
-@RequestMapping("/service/scene/common/convert")
-public class FileConvertController extends BaseController {
-
-    @Autowired
-    private IFileConvertService fileConvertService;
-
-    /**
-     * <p>
-            -
-     * </p>      
-     * @author dengsixing
-     * @date 2022/8/1
-     * @param file
-     * @return com.fdkankan.web.response.ResultData
-     **/
-    @PostMapping("/convertTxtToModeldata")
-    public ResultData convertTxtToModeldata(@RequestParam("file") MultipartFile file) throws Exception{
-        fileConvertService.convertTxtToModeldata(file, this.response);
-        return ResultData.ok();
-    }
-
-    /**
-     * <p>
-            -
-     * </p>      
-     * @author dengsixing
-     * @date 2022/8/1 
-     * @param file 
-     **/
-    @PostMapping("/convertTxtToDam")
-    public void convertTxtToDam(@RequestParam("file") MultipartFile file) throws Exception{
-        fileConvertService.convertTxtToDam(file, this.response);
-    }
-
-    /**
-     * <p>
-            -
-     * </p>      
-     * @author dengsixing
-     * @date 2022/8/1 
-     * @param file 
-     **/
-    @PostMapping("/convertTxtToLzma")
-    public void convertTxtToLzma(@RequestParam("file") MultipartFile file) throws Exception{
-        fileConvertService.convertTxtToLzma(file, this.response);
-    }
-
-}
+//package com.fdkankan.scene.controller;
+//
+//import com.fdkankan.scene.service.IFileConvertService;
+//import com.fdkankan.web.controller.BaseController;
+//import com.fdkankan.web.response.ResultData;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.web.bind.annotation.PostMapping;
+//import org.springframework.web.bind.annotation.RequestMapping;
+//import org.springframework.web.bind.annotation.RequestParam;
+//import org.springframework.web.bind.annotation.RestController;
+//import org.springframework.web.multipart.MultipartFile;
+//
+///**
+// * <p>
+// * -
+// * </p>
+// *
+// * @author dengsixing
+// * @since 2022/5/17
+// **/
+//@RestController
+//@RequestMapping("/service/scene/common/convert")
+//public class FileConvertController extends BaseController {
+//
+//    @Autowired
+//    private IFileConvertService fileConvertService;
+//
+//    /**
+//     * <p>
+//            -
+//     * </p>
+//     * @author dengsixing
+//     * @date 2022/8/1
+//     * @param file
+//     * @return com.fdkankan.web.response.ResultData
+//     **/
+//    @PostMapping("/convertTxtToModeldata")
+//    public ResultData convertTxtToModeldata(@RequestParam("file") MultipartFile file) throws Exception{
+//        fileConvertService.convertTxtToModeldata(file, this.response);
+//        return ResultData.ok();
+//    }
+//
+//    /**
+//     * <p>
+//            -
+//     * </p>
+//     * @author dengsixing
+//     * @date 2022/8/1
+//     * @param file
+//     **/
+//    @PostMapping("/convertTxtToDam")
+//    public void convertTxtToDam(@RequestParam("file") MultipartFile file) throws Exception{
+//        fileConvertService.convertTxtToDam(file, this.response);
+//    }
+//
+//    /**
+//     * <p>
+//            -
+//     * </p>
+//     * @author dengsixing
+//     * @date 2022/8/1
+//     * @param file
+//     **/
+//    @PostMapping("/convertTxtToLzma")
+//    public void convertTxtToLzma(@RequestParam("file") MultipartFile file) throws Exception{
+//        fileConvertService.convertTxtToLzma(file, this.response);
+//    }
+//
+//}

+ 24 - 24
src/main/java/com/fdkankan/scene/service/IFileConvertService.java

@@ -1,24 +1,24 @@
-package com.fdkankan.scene.service;
-
-import javax.servlet.http.HttpServletResponse;
-import org.springframework.web.multipart.MultipartFile;
-
-/**
- * <p>
- * -
- * </p>
- *
- * @author dengsixing
- * @since 2022/5/17
- **/
-public interface IFileConvertService {
-
-    void convertTxtToModeldata(MultipartFile file, HttpServletResponse response) throws Exception;
-
-    void convertTxtToDam(MultipartFile file, HttpServletResponse response) throws Exception;
-
-    void convertTxtToLzma(MultipartFile file, HttpServletResponse response) throws Exception;
-
-
-
-}
+//package com.fdkankan.scene.service;
+//
+//import javax.servlet.http.HttpServletResponse;
+//import org.springframework.web.multipart.MultipartFile;
+//
+///**
+// * <p>
+// * -
+// * </p>
+// *
+// * @author dengsixing
+// * @since 2022/5/17
+// **/
+//public interface IFileConvertService {
+//
+//    void convertTxtToModeldata(MultipartFile file, HttpServletResponse response) throws Exception;
+//
+//    void convertTxtToDam(MultipartFile file, HttpServletResponse response) throws Exception;
+//
+//    void convertTxtToLzma(MultipartFile file, HttpServletResponse response) throws Exception;
+//
+//
+//
+//}

+ 2 - 0
src/main/java/com/fdkankan/scene/service/IScenePlusService.java

@@ -53,4 +53,6 @@ public interface IScenePlusService extends IService<ScenePlus> {
 
     void deleteByList(List<ScenePlus> plusList, List<String> reserve, boolean reserveSource) throws FileSystemException;
 
+    String getDataSource(String num);
+
 }

+ 0 - 2
src/main/java/com/fdkankan/scene/service/ISceneService.java

@@ -15,8 +15,6 @@ public interface ISceneService extends IService<Scene> {
 
     ResultData uploadBodySegment(MultipartFile file,Integer rotate) throws Exception;
 
-    void bodySegmentHandler(String imgUrl, String uuid);
-
     ResultData getBodySegmentStatus(String uuid);
 
     void delete(SceneParamVO param) throws FileSystemException;

+ 1 - 2
src/main/java/com/fdkankan/scene/service/impl/BoxModelServiceImpl.java

@@ -14,7 +14,6 @@ import com.fdkankan.common.constant.ServerCode;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.util.FileUtils;
 import com.fdkankan.common.util.OBJToGLBUtil;
-import com.fdkankan.model.constants.ConstantFilePath;
 import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.model.utils.ComputerUtil;
 import com.fdkankan.scene.bean.BoxModelBean;
@@ -82,7 +81,7 @@ public class BoxModelServiceImpl implements IBoxModelService {
 //        if(!FileUtils.checkFileSizeIsLimit(file.getSize(), 5, "M")){
 //            throw new BusinessException(ErrorCode.FAILURE_CODE_7023, "5M");
 //        }
-        String path = scenePlusExt.getDataSource() + String.format(ConstantFilePath.SCENE_USER_PATH_V4, num).replace("/",File.separator) + "boxModel" + File.separator + sid + File.separator;
+        String path = scenePlusExt.getDataSource() + File.separator + String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num) + "boxModel" + File.separator + sid + File.separator;
         try {
             String zipPath = path + file.getOriginalFilename();
             String srcPath = path + "data" + File.separator;

+ 3 - 2
src/main/java/com/fdkankan/scene/service/impl/CommonServiceImpl.java

@@ -5,12 +5,13 @@ import com.alibaba.fastjson.JSONObject;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import com.fdkankan.common.util.FileUtils;
-import com.fdkankan.model.constants.ConstantFilePath;
 import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.model.utils.CreateObjUtil;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.scene.bean.SceneJsonBean;
+import com.fdkankan.scene.config.FdkkLaserConfig;
+import com.fdkankan.scene.constant.ConstantFileLocPath;
 import com.fdkankan.scene.entity.ScenePlus;
 import com.fdkankan.scene.entity.ScenePlusExt;
 import com.fdkankan.scene.factory.UserEditData.UserEditDataHandler;
@@ -58,7 +59,7 @@ public class CommonServiceImpl implements ICommonService {
     @Override
     public void transferToFlv(String num, String fileName, String bucket) throws Exception {
         String userEditPath = String.format(UploadFilePath.USER_EDIT_PATH, num);
-        String localImagesPath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num);
+        String localImagesPath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num);
         String localFilePath = localImagesPath + fileName;
 
         File targetFile = new File(localImagesPath);

+ 4 - 3
src/main/java/com/fdkankan/scene/service/impl/CutModelServiceImpl.java

@@ -12,13 +12,13 @@ import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.constant.FileBizType;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.util.FileUtils;
-import com.fdkankan.model.constants.ConstantFilePath;
 import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.constant.RedisLockKey;
 import com.fdkankan.redis.util.RedisLockUtil;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.scene.bean.TagBean;
+import com.fdkankan.scene.constant.ConstantFileLocPath;
 import com.fdkankan.scene.entity.SceneEditInfoExt;
 import com.fdkankan.scene.entity.ScenePlus;
 import com.fdkankan.scene.entity.ScenePlusExt;
@@ -34,6 +34,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.io.File;
 import java.io.IOException;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -211,7 +212,7 @@ public class CutModelServiceImpl implements ICutModelService {
         }
         try{
             String dataKey = String.format(RedisKey.SCENE_CUT_MODEL, num);
-            String cutModelJsonPath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + CUT_MODEL_JSON_NAME;
+            String cutModelJsonPath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num) + CUT_MODEL_JSON_NAME;
             if(!redisUtil.hasKey(dataKey)){
                 FileUtil.del(cutModelJsonPath);
                 return;
@@ -242,7 +243,7 @@ public class CutModelServiceImpl implements ICutModelService {
             if(exist){
                 return;
             }
-            String cutModelFilePath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + CUT_MODEL_JSON_NAME;
+            String cutModelFilePath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num) + CUT_MODEL_JSON_NAME;
             String cutModelData = FileUtils.readUtf8String(cutModelFilePath);
             if(StrUtil.isEmpty(cutModelData)){
                 return;

+ 3 - 3
src/main/java/com/fdkankan/scene/service/impl/DownloadTourVideoServiceImpl.java

@@ -10,10 +10,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.exception.BusinessException;
-import com.fdkankan.model.constants.ConstantFilePath;
 import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.model.utils.CreateObjUtil;
 import com.fdkankan.redis.util.RedisUtil;
+import com.fdkankan.scene.constant.ConstantFileLocPath;
 import com.fdkankan.scene.entity.DownloadTourVideo;
 import com.fdkankan.scene.entity.ScenePlus;
 import com.fdkankan.scene.entity.ScenePlusExt;
@@ -79,7 +79,7 @@ public class DownloadTourVideoServiceImpl extends ServiceImpl<IDownloadTourVideo
         String fileName = file.getOriginalFilename();
         String extName = cn.hutool.core.io.FileUtil.extName(fileName);
         String tempFileName = uuid + "." + extName;
-        String srcPath = ConstantFilePath.SCENE_V4_PATH + num + "/tour/" + tempFileName;
+        String srcPath = scenePlusService.getDataSource(num) + File.separator + ConstantFileLocPath.SCENE_V4_PATH + num + "/tour/" + tempFileName;
         File tempFile = new File(srcPath);
         if(!tempFile.getParentFile().exists()){
             tempFile.getParentFile().mkdirs();
@@ -129,7 +129,7 @@ public class DownloadTourVideoServiceImpl extends ServiceImpl<IDownloadTourVideo
             ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
             String bucket = scenePlusExt.getYunFileBucket();
             String destFileName = UUID.randomUUID().toString() + ".mp4";
-            destPath = ConstantFilePath.SCENE_V4_PATH + downloadTourVideo.getNum() + "/tour/" + destFileName;
+            destPath = scenePlusService.getDataSource(downloadTourVideo.getNum()) + File.separator + ConstantFileLocPath.SCENE_V4_PATH + downloadTourVideo.getNum() + "/tour/" + destFileName;
             File destFile = new File(destPath);
             if(!destFile.getParentFile().exists()){
                 destFile.getParentFile().mkdir();

+ 185 - 185
src/main/java/com/fdkankan/scene/service/impl/FileConvertServiceImpl.java

@@ -1,185 +1,185 @@
-package com.fdkankan.scene.service.impl;
-
-import cn.hutool.core.io.FileTypeUtil;
-import cn.hutool.core.io.FileUtil;
-import cn.hutool.core.io.IoUtil;
-import cn.hutool.core.lang.UUID;
-import com.fdkankan.model.constants.ConstantFileName;
-import com.fdkankan.model.constants.ConstantFilePath;
-import com.fdkankan.common.constant.ErrorCode;
-import com.fdkankan.common.exception.BusinessException;
-import com.fdkankan.model.utils.CreateObjUtil;
-import com.fdkankan.scene.service.IFileConvertService;
-import java.io.BufferedInputStream;
-import java.io.File;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletResponse;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
-
-/**
- * <p>
- * -
- * </p>
- *
- * @author dengsixing
- * @since 2022/5/17
- **/
-@Slf4j
-@Service
-public class FileConvertServiceImpl implements IFileConvertService {
-
-    @Override
-    public void convertTxtToModeldata(MultipartFile file, HttpServletResponse response) throws Exception {
-
-        //生成uuid
-        String fileName = "vision.modeldata";
-        String uuid = UUID.randomUUID().toString();
-        String path = ConstantFilePath.FILE_CONVERT_PATH + uuid;
-//        String path = "F:\\mnt\\4Dkankan\\fileConvert\\" + uuid;
-        String srcPath = path + File.separator + file.getOriginalFilename();
-        String targetPath = path + File.separator + fileName;
-        File srcFile = new File(srcPath);
-        if(!srcFile.getParentFile().exists()){
-            srcFile.getParentFile().mkdirs();
-        }
-        file.transferTo(new File(srcPath));
-        String type = FileTypeUtil.getType(srcFile);
-        if(!"txt".equals(type)){
-            throw new BusinessException(ErrorCode.FAILURE_CODE_7007, "txt");
-        }
-        CreateObjUtil.convertTxtToVisionmodeldata(srcPath, targetPath);
-        if(!FileUtil.exist(targetPath)){
-            throw new BusinessException(ErrorCode.FAILURE_CODE_8005);
-        }
-
-        // 设置返回内容格式
-        response.setContentType("application/octet-stream");
-
-        // 把文件名按UTF-8取出并按ISO8859-1编码,保证弹出窗口中的文件名中文不乱码
-        // 中文不要太多,最多支持17个中文,因为header有150个字节限制。
-        // 这一步一定要在读取文件之后进行,否则文件名会乱码,找不到文件
-//        fileName = new String(fileName.getBytes("UTF-8"),"ISO8859-1");
-
-        // 设置下载弹窗的文件名和格式(文件名要包括名字和文件格式)
-        response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
-
-        try(
-            BufferedInputStream inputStream = FileUtil.getInputStream(targetPath);
-            ServletOutputStream outputStream = response.getOutputStream();
-        ){
-            IoUtil.copy(inputStream, outputStream);
-            //关闭流
-            IoUtil.close(outputStream);
-            IoUtil.close(inputStream);
-        }catch (Exception e){
-            log.error("文件流输出失败,文件路径: " + targetPath, e);
-            throw new BusinessException(ErrorCode.FAILURE_CODE_8005);
-        }
-    }
-
-    @Override
-    public void convertTxtToDam(MultipartFile file, HttpServletResponse response) throws Exception {
-        //生成uuid
-        String fileName = ConstantFileName.modelUUID+"_50k.dam";
-        String uuid = UUID.randomUUID().toString();
-        String path = ConstantFilePath.FILE_CONVERT_PATH + uuid;
-//        String path = "F:\\mnt\\4Dkankan\\fileConvert\\" + uuid;
-        String srcPath = path + File.separator + file.getOriginalFilename();
-        String targetPath = path + File.separator + fileName;
-        File srcFile = new File(srcPath);
-        if(!srcFile.getParentFile().exists()){
-            srcFile.getParentFile().mkdirs();
-        }
-        file.transferTo(new File(srcPath));
-        String type = FileTypeUtil.getType(srcFile);
-        if(!"txt".equals(type)){
-            throw new BusinessException(ErrorCode.FAILURE_CODE_7007, "txt");
-        }
-        CreateObjUtil.convertTxtToDam( srcPath, targetPath);
-        if(!FileUtil.exist(targetPath)){
-            throw new BusinessException(ErrorCode.FAILURE_CODE_8005);
-        }
-
-        // 设置返回内容格式
-        response.setContentType("application/octet-stream");
-
-        // 把文件名按UTF-8取出并按ISO8859-1编码,保证弹出窗口中的文件名中文不乱码
-        // 中文不要太多,最多支持17个中文,因为header有150个字节限制。
-        // 这一步一定要在读取文件之后进行,否则文件名会乱码,找不到文件
-//        fileName = new String(fileName.getBytes("UTF-8"),"ISO8859-1");
-
-        // 设置下载弹窗的文件名和格式(文件名要包括名字和文件格式)
-        response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
-
-        try(
-            BufferedInputStream inputStream = FileUtil.getInputStream(targetPath);
-            ServletOutputStream outputStream = response.getOutputStream();
-        ){
-            IoUtil.copy(inputStream, outputStream);
-            //关闭流
-            IoUtil.close(outputStream);
-            IoUtil.close(inputStream);
-        }catch (Exception e){
-            log.error("文件流输出失败,文件路径: " + targetPath, e);
-            throw new BusinessException(ErrorCode.FAILURE_CODE_8005);
-        }
-    }
-
-    @Override
-    public void convertTxtToLzma(MultipartFile file, HttpServletResponse response) throws Exception {
-
-        //生成uuid
-        String damFileName = ConstantFileName.modelUUID+"_50k.dam";
-        String lzmaFileName = damFileName + ".lzma";
-        String uuid = UUID.randomUUID().toString();
-        String path = ConstantFilePath.FILE_CONVERT_PATH + uuid;
-//        String path = "F:\\mnt\\4Dkankan\\fileConvert\\" + uuid;
-        String srcPath = path + File.separator + file.getOriginalFilename();
-        String damFilePath = path + File.separator + damFileName;
-        String lzmaFilePath = path + File.separator + lzmaFileName;
-        File srcFile = new File(srcPath);
-        if(!srcFile.getParentFile().exists()){
-            srcFile.getParentFile().mkdirs();
-        }
-        file.transferTo(new File(srcPath));
-        String type = FileTypeUtil.getType(srcFile);
-        if(!"txt".equals(type)){
-            throw new BusinessException(ErrorCode.FAILURE_CODE_7007, "txt");
-        }
-        CreateObjUtil.convertTxtToDam( srcPath, damFilePath);
-        if(!FileUtil.exist(damFilePath)){
-            throw new BusinessException(ErrorCode.FAILURE_CODE_8005);
-        }
-        CreateObjUtil.convertDamToLzmaByAbsolutePath(damFilePath);
-        if(!FileUtil.exist(lzmaFilePath)){
-            throw new BusinessException(ErrorCode.FAILURE_CODE_8005);
-        }
-
-        // 设置返回内容格式
-        response.setContentType("application/octet-stream");
-
-        // 把文件名按UTF-8取出并按ISO8859-1编码,保证弹出窗口中的文件名中文不乱码
-        // 中文不要太多,最多支持17个中文,因为header有150个字节限制。
-        // 这一步一定要在读取文件之后进行,否则文件名会乱码,找不到文件
-//        fileName = new String(fileName.getBytes("UTF-8"),"ISO8859-1");
-
-        // 设置下载弹窗的文件名和格式(文件名要包括名字和文件格式)
-        response.setHeader("Content-Disposition", "attachment;filename=" + lzmaFileName);
-
-        try(
-            BufferedInputStream inputStream = FileUtil.getInputStream(lzmaFilePath);
-            ServletOutputStream outputStream = response.getOutputStream();
-        ){
-            IoUtil.copy(inputStream, outputStream);
-            //关闭流
-            IoUtil.close(outputStream);
-            IoUtil.close(inputStream);
-        }catch (Exception e){
-            log.error("文件流输出失败,文件路径: " + lzmaFilePath, e);
-            throw new BusinessException(ErrorCode.FAILURE_CODE_8005);
-        }
-
-    }
-}
+//package com.fdkankan.scene.service.impl;
+//
+//import cn.hutool.core.io.FileTypeUtil;
+//import cn.hutool.core.io.FileUtil;
+//import cn.hutool.core.io.IoUtil;
+//import cn.hutool.core.lang.UUID;
+//import com.fdkankan.model.constants.ConstantFileName;
+//import com.fdkankan.common.constant.ErrorCode;
+//import com.fdkankan.common.exception.BusinessException;
+//import com.fdkankan.model.utils.CreateObjUtil;
+//import com.fdkankan.scene.constant.ConstantFileLocPath;
+//import com.fdkankan.scene.service.IFileConvertService;
+//import java.io.BufferedInputStream;
+//import java.io.File;
+//import javax.servlet.ServletOutputStream;
+//import javax.servlet.http.HttpServletResponse;
+//import lombok.extern.slf4j.Slf4j;
+//import org.springframework.stereotype.Service;
+//import org.springframework.web.multipart.MultipartFile;
+//
+///**
+// * <p>
+// * -
+// * </p>
+// *
+// * @author dengsixing
+// * @since 2022/5/17
+// **/
+//@Slf4j
+//@Service
+//public class FileConvertServiceImpl implements IFileConvertService {
+//
+//    @Override
+//    public void convertTxtToModeldata(MultipartFile file, HttpServletResponse response) throws Exception {
+//
+//        //生成uuid
+//        String fileName = "vision.modeldata";
+//        String uuid = UUID.randomUUID().toString();
+//        String path = ConstantFileLocPath.FILE_CONVERT_PATH + uuid;
+////        String path = "F:\\mnt\\4Dkankan\\fileConvert\\" + uuid;
+//        String srcPath = path + File.separator + file.getOriginalFilename();
+//        String targetPath = path + File.separator + fileName;
+//        File srcFile = new File(srcPath);
+//        if(!srcFile.getParentFile().exists()){
+//            srcFile.getParentFile().mkdirs();
+//        }
+//        file.transferTo(new File(srcPath));
+//        String type = FileTypeUtil.getType(srcFile);
+//        if(!"txt".equals(type)){
+//            throw new BusinessException(ErrorCode.FAILURE_CODE_7007, "txt");
+//        }
+//        CreateObjUtil.convertTxtToVisionmodeldata(srcPath, targetPath);
+//        if(!FileUtil.exist(targetPath)){
+//            throw new BusinessException(ErrorCode.FAILURE_CODE_8005);
+//        }
+//
+//        // 设置返回内容格式
+//        response.setContentType("application/octet-stream");
+//
+//        // 把文件名按UTF-8取出并按ISO8859-1编码,保证弹出窗口中的文件名中文不乱码
+//        // 中文不要太多,最多支持17个中文,因为header有150个字节限制。
+//        // 这一步一定要在读取文件之后进行,否则文件名会乱码,找不到文件
+////        fileName = new String(fileName.getBytes("UTF-8"),"ISO8859-1");
+//
+//        // 设置下载弹窗的文件名和格式(文件名要包括名字和文件格式)
+//        response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
+//
+//        try(
+//            BufferedInputStream inputStream = FileUtil.getInputStream(targetPath);
+//            ServletOutputStream outputStream = response.getOutputStream();
+//        ){
+//            IoUtil.copy(inputStream, outputStream);
+//            //关闭流
+//            IoUtil.close(outputStream);
+//            IoUtil.close(inputStream);
+//        }catch (Exception e){
+//            log.error("文件流输出失败,文件路径: " + targetPath, e);
+//            throw new BusinessException(ErrorCode.FAILURE_CODE_8005);
+//        }
+//    }
+//
+//    @Override
+//    public void convertTxtToDam(MultipartFile file, HttpServletResponse response) throws Exception {
+//        //生成uuid
+//        String fileName = ConstantFileName.modelUUID+"_50k.dam";
+//        String uuid = UUID.randomUUID().toString();
+//        String path = ConstantFileLocPath.FILE_CONVERT_PATH + uuid;
+////        String path = "F:\\mnt\\4Dkankan\\fileConvert\\" + uuid;
+//        String srcPath = path + File.separator + file.getOriginalFilename();
+//        String targetPath = path + File.separator + fileName;
+//        File srcFile = new File(srcPath);
+//        if(!srcFile.getParentFile().exists()){
+//            srcFile.getParentFile().mkdirs();
+//        }
+//        file.transferTo(new File(srcPath));
+//        String type = FileTypeUtil.getType(srcFile);
+//        if(!"txt".equals(type)){
+//            throw new BusinessException(ErrorCode.FAILURE_CODE_7007, "txt");
+//        }
+//        CreateObjUtil.convertTxtToDam( srcPath, targetPath);
+//        if(!FileUtil.exist(targetPath)){
+//            throw new BusinessException(ErrorCode.FAILURE_CODE_8005);
+//        }
+//
+//        // 设置返回内容格式
+//        response.setContentType("application/octet-stream");
+//
+//        // 把文件名按UTF-8取出并按ISO8859-1编码,保证弹出窗口中的文件名中文不乱码
+//        // 中文不要太多,最多支持17个中文,因为header有150个字节限制。
+//        // 这一步一定要在读取文件之后进行,否则文件名会乱码,找不到文件
+////        fileName = new String(fileName.getBytes("UTF-8"),"ISO8859-1");
+//
+//        // 设置下载弹窗的文件名和格式(文件名要包括名字和文件格式)
+//        response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
+//
+//        try(
+//            BufferedInputStream inputStream = FileUtil.getInputStream(targetPath);
+//            ServletOutputStream outputStream = response.getOutputStream();
+//        ){
+//            IoUtil.copy(inputStream, outputStream);
+//            //关闭流
+//            IoUtil.close(outputStream);
+//            IoUtil.close(inputStream);
+//        }catch (Exception e){
+//            log.error("文件流输出失败,文件路径: " + targetPath, e);
+//            throw new BusinessException(ErrorCode.FAILURE_CODE_8005);
+//        }
+//    }
+//
+//    @Override
+//    public void convertTxtToLzma(MultipartFile file, HttpServletResponse response) throws Exception {
+//
+//        //生成uuid
+//        String damFileName = ConstantFileName.modelUUID+"_50k.dam";
+//        String lzmaFileName = damFileName + ".lzma";
+//        String uuid = UUID.randomUUID().toString();
+//        String path = ConstantFileLocPath.FILE_CONVERT_PATH + uuid;
+////        String path = "F:\\mnt\\4Dkankan\\fileConvert\\" + uuid;
+//        String srcPath = path + File.separator + file.getOriginalFilename();
+//        String damFilePath = path + File.separator + damFileName;
+//        String lzmaFilePath = path + File.separator + lzmaFileName;
+//        File srcFile = new File(srcPath);
+//        if(!srcFile.getParentFile().exists()){
+//            srcFile.getParentFile().mkdirs();
+//        }
+//        file.transferTo(new File(srcPath));
+//        String type = FileTypeUtil.getType(srcFile);
+//        if(!"txt".equals(type)){
+//            throw new BusinessException(ErrorCode.FAILURE_CODE_7007, "txt");
+//        }
+//        CreateObjUtil.convertTxtToDam( srcPath, damFilePath);
+//        if(!FileUtil.exist(damFilePath)){
+//            throw new BusinessException(ErrorCode.FAILURE_CODE_8005);
+//        }
+//        CreateObjUtil.convertDamToLzmaByAbsolutePath(damFilePath);
+//        if(!FileUtil.exist(lzmaFilePath)){
+//            throw new BusinessException(ErrorCode.FAILURE_CODE_8005);
+//        }
+//
+//        // 设置返回内容格式
+//        response.setContentType("application/octet-stream");
+//
+//        // 把文件名按UTF-8取出并按ISO8859-1编码,保证弹出窗口中的文件名中文不乱码
+//        // 中文不要太多,最多支持17个中文,因为header有150个字节限制。
+//        // 这一步一定要在读取文件之后进行,否则文件名会乱码,找不到文件
+////        fileName = new String(fileName.getBytes("UTF-8"),"ISO8859-1");
+//
+//        // 设置下载弹窗的文件名和格式(文件名要包括名字和文件格式)
+//        response.setHeader("Content-Disposition", "attachment;filename=" + lzmaFileName);
+//
+//        try(
+//            BufferedInputStream inputStream = FileUtil.getInputStream(lzmaFilePath);
+//            ServletOutputStream outputStream = response.getOutputStream();
+//        ){
+//            IoUtil.copy(inputStream, outputStream);
+//            //关闭流
+//            IoUtil.close(outputStream);
+//            IoUtil.close(inputStream);
+//        }catch (Exception e){
+//            log.error("文件流输出失败,文件路径: " + lzmaFilePath, e);
+//            throw new BusinessException(ErrorCode.FAILURE_CODE_8005);
+//        }
+//
+//    }
+//}

+ 2 - 2
src/main/java/com/fdkankan/scene/service/impl/RemovePortraitServiceImpl.java

@@ -10,7 +10,7 @@
 //import com.fdkankan.common.constant.*;
 //import com.fdkankan.common.exception.BusinessException;
 //import com.fdkankan.common.util.FileUtils;
-//import com.fdkankan.model.constants.ConstantFilePath;
+//import com.fdkankan.model.constants.ConstantFileLocPathth;
 //import com.fdkankan.model.constants.UploadFilePath;
 //import com.fdkankan.model.utils.CreateObjUtil;
 //import com.fdkankan.model.utils.SceneUtil;
@@ -60,7 +60,7 @@
 //        //原始计算根目录
 //        String uuid = UUID.randomUUID().toString();
 //        //全景图计算根目录
-//        String target = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + uuid;
+//        String target = String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num) + uuid;
 //        //解压缩文件存放目录
 //        String targetImagesPath = target + "/extras/images/";
 //        //更新状态为进行中

+ 3 - 3
src/main/java/com/fdkankan/scene/service/impl/SceneCleanOrigServiceImpl.java

@@ -9,7 +9,7 @@
 //import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 //import com.fdkankan.common.constant.CommonSuccessStatus;
 //import com.fdkankan.fyun.face.FYunFileServiceInterface;
-//import com.fdkankan.model.constants.ConstantFilePath;
+//import com.fdkankan.model.constants.ConstantFileLocPath;
 //import com.fdkankan.model.constants.UploadFilePath;
 //import com.fdkankan.model.utils.SceneUtil;
 //import com.fdkankan.redis.constant.RedisKey;
@@ -114,7 +114,7 @@
 //    private void cleanOrigHandler(SceneBean scene){
 //        String dataSource = scene.getDataSource();
 //        if(StrUtil.isNotEmpty(dataSource)){
-//            String homePath = dataSource.replace(ConstantFilePath.BUILD_MODEL_PATH, ConstantFilePath.OSS_PREFIX);
+//            String homePath = dataSource.replace(ConstantFileLocPath.BUILD_MODEL_PATH, ConstantFileLocPath.OSS_PREFIX);
 //            //由于国内测试和生产用的bucket是同一个,这里需要做一个安全校验,保证不会删错
 //            String fileContent = fYunFileService.getFileContent(homePath.concat("/").concat("data.fdage"));
 //            if(StrUtil.isNotBlank(fileContent)){
@@ -277,7 +277,7 @@
 //        if(StrUtil.isEmpty(dataSource) || dataSource.length() < 10) {
 //            return;
 //        }
-//        String homePath = dataSource.replace(ConstantFilePath.BUILD_MODEL_PATH, ConstantFilePath.OSS_PREFIX);
+//        String homePath = dataSource.replace(ConstantFileLocPath.BUILD_MODEL_PATH, ConstantFileLocPath.OSS_PREFIX);
 //
 //        //将文件复制到冷归档bucket
 //        fYunFileService.copyFileBetweenBucket(bucket, homePath, coldBucket, homePath);

+ 4 - 3
src/main/java/com/fdkankan/scene/service/impl/SceneDrawServiceImpl.java

@@ -12,13 +12,13 @@ import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.constant.FileBizType;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.util.FileUtils;
-import com.fdkankan.model.constants.ConstantFilePath;
 import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.constant.RedisLockKey;
 import com.fdkankan.redis.util.RedisLockUtil;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.scene.bean.TagBean;
+import com.fdkankan.scene.constant.ConstantFileLocPath;
 import com.fdkankan.scene.entity.SceneEditInfoExt;
 import com.fdkankan.scene.entity.ScenePlus;
 import com.fdkankan.scene.entity.ScenePlusExt;
@@ -32,6 +32,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.io.File;
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;
 import java.util.*;
@@ -126,7 +127,7 @@ public class SceneDrawServiceImpl implements ISceneDrawService {
         }
         try{
             String dataKey = String.format(RedisKey.SCENE_DRAW, num);
-            String sceneDrawJsonPath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + SCENE_DRAW_JSON_NAME;
+            String sceneDrawJsonPath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num) + SCENE_DRAW_JSON_NAME;
             if(!redisUtil.hasKey(dataKey)){
                 FileUtil.del(sceneDrawJsonPath);
                 return;
@@ -157,7 +158,7 @@ public class SceneDrawServiceImpl implements ISceneDrawService {
             if(exist){
                 return;
             }
-            String sceneDrawFilePath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + SCENE_DRAW_JSON_NAME;
+            String sceneDrawFilePath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num) + SCENE_DRAW_JSON_NAME;
             String sceneDrawData = FileUtils.readUtf8String(sceneDrawFilePath);
             if(StrUtil.isEmpty(sceneDrawData)){
                 return;

+ 6 - 5
src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoExtServiceImpl.java

@@ -13,13 +13,13 @@ import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.constant.FileBizType;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.util.FileUtils;
-import com.fdkankan.model.constants.ConstantFilePath;
 import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.constant.RedisLockKey;
 import com.fdkankan.redis.util.RedisLockUtil;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.scene.bean.TagBean;
+import com.fdkankan.scene.constant.ConstantFileLocPath;
 import com.fdkankan.scene.entity.SceneEditInfo;
 import com.fdkankan.scene.entity.SceneEditInfoExt;
 import com.fdkankan.scene.entity.ScenePlus;
@@ -40,6 +40,7 @@ import org.aspectj.apache.bcel.generic.RET;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.io.File;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
@@ -153,7 +154,7 @@ public class SceneEditInfoExtServiceImpl extends ServiceImpl<ISceneEditInfoExtMa
             if(exist){
                 return;
             }
-            String stylesPath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num);
+            String stylesPath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num);
             String stylesData = FileUtils.readUtf8String(stylesPath + "billboards-styles.json");
             if(StrUtil.isEmpty(stylesData)){
                 return;
@@ -301,7 +302,7 @@ public class SceneEditInfoExtServiceImpl extends ServiceImpl<ISceneEditInfoExtMa
             if(exist){
                 return;
             }
-            String billboardsFilePath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + "billboards.json";
+            String billboardsFilePath = String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num) + "billboards.json";
             String billboardsData = FileUtils.readUtf8String(billboardsFilePath);
             if(StrUtil.isEmpty(billboardsData)){
                 return;
@@ -351,7 +352,7 @@ public class SceneEditInfoExtServiceImpl extends ServiceImpl<ISceneEditInfoExtMa
         }
         try{
             String dataKey = String.format(RedisKey.SCENE_BILLBOARDS, num);
-            String hotJsonPath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + "billboards.json";
+            String hotJsonPath = String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num) + "billboards.json";
             if(!redisUtil.hasKey(dataKey)){
                 FileUtil.del(hotJsonPath);
                 return;
@@ -373,7 +374,7 @@ public class SceneEditInfoExtServiceImpl extends ServiceImpl<ISceneEditInfoExtMa
         }
         try{
             String dataKey = String.format(RedisKey.SCENE_BILLBOARDS_STYLES, num);
-            String stylesPath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + "billboards-styles.json";
+            String stylesPath = String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num) + "billboards-styles.json";
             if(!redisUtil.hasKey(dataKey)){
                 FileUtil.del(stylesPath);
                 return;

+ 27 - 34
src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java

@@ -19,7 +19,6 @@ import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.util.FileSizeUtil;
 import com.fdkankan.common.util.FileUtils;
 import com.fdkankan.dxf.parse.utils.FdJsonToDxfUtil;
-import com.fdkankan.model.constants.ConstantFilePath;
 import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.model.utils.ComputerUtil;
 import com.fdkankan.model.utils.CreateHouseJsonUtil;
@@ -284,7 +283,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
 //        sceneJson.setDynamicPanel(sceneDynamicPanelService.checkDynamicPanel(num));
 
         //本地写sceneJson文件
-        String localSceneJsonPath = String.format(scenePlusExt.getDataSource()+ ConstantFileLocPath.SCENE_DATA_PATH_V4, num) + "scene.json";
+        String localSceneJsonPath = scenePlusExt.getDataSource() + File.separator + String.format(ConstantFileLocPath.SCENE_DATA_PATH_V4, num) + "scene.json";
         FileUtils.writeFile(localSceneJsonPath, JSON.toJSONString(sceneJson));
         //上传sceneJson文件
         String sceneJsonPath = String.format(UploadFilePath.DATA_VIEW_PATH+"scene.json", num);
@@ -607,7 +606,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         SceneInfoVO sceneInfoVO = null;
         //先查询redis
         if(StrUtil.isEmpty(sceneJson)) {
-            String objectName = String.format(ConstantFilePath.SCENE_VIEW_DATA_DATA_SCENEJSON, num);
+            String objectName = String.format(UploadFilePath.DATA_VIEW_PATH, num) + "scene.json";
             sceneJson = ossUtil.getFileContent(bucket, objectName);
             redisUtil.set(key, sceneJson);
         }
@@ -655,7 +654,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
 
         String bucket = scenePlusExt.getYunFileBucket();
         String editUserPath = String.format(UploadFilePath.USER_EDIT_PATH, num);
-        String localDataPath = String.format(scenePlusExt.getDataSource()+ ConstantFileLocPath.SCENE_DATA_PATH_V4, num);
+        String localDataPath = scenePlusExt.getDataSource() + File.separator + String.format(ConstantFileLocPath.SCENE_DATA_PATH_V4, num);
 
         JSONObject fileInfoJson = JSON.parseObject(param.getData());
         Float angel = null;
@@ -727,8 +726,8 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         if(!"dxf".equals(extName)){
             throw new BusinessException(ErrorCode.FAILURE_CODE_7007.code(), ErrorCode.FAILURE_CODE_7007.formatMessage("dxf"));
         }
-        String dfxPath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + UUID.randomUUID() + "." + extName;
-        String floorplanUserPath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + UUID.randomUUID() + ".json";
+        String dfxPath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num) + UUID.randomUUID() + "." + extName;
+        String floorplanUserPath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num) + UUID.randomUUID() + ".json";
         file.transferTo(new File(dfxPath));
         try {
             String editUserPath = String.format(UploadFilePath.USER_EDIT_PATH, num);
@@ -791,9 +790,9 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             ossFloorplanPath = String.format(UploadFilePath.USER_EDIT_PATH, num) + "floorplan.json";
         }
 
-        String localFloorplan = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + UUID.randomUUID() + ".json";
+        String localFloorplan = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num) + UUID.randomUUID() + ".json";
         ossUtil.downloadFile(scenePlusExt.getYunFileBucket(), ossFloorplanPath, localFloorplan);
-        String localDxf = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + UUID.randomUUID() + ".dxf";
+        String localDxf = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num) + UUID.randomUUID() + ".dxf";
         FdJsonToDxfUtil.fdJsonToDxf(localFloorplan, localDxf, subgroup);
         String key = ossUtil.getUploadTempFileKey(null, "dxf");
         ossUtil.uploadFile(scenePlusExt.getYunFileBucket(), key, localDxf, false);
@@ -1150,7 +1149,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
 
         //比对图片列表,不存在的要返回名称集合
         String ossVisionPath = String.format(UploadFilePath.IMG_VIEW_PATH, num) + "vision.txt";
-        String visionPath = String.format(ConstantFilePath.SCENE_DATA_PATH_V4, num) + "vision.txt";
+        String visionPath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_DATA_PATH_V4, num) + "vision.txt";
         ossUtil.downloadFile(bucket, ossVisionPath, visionPath);
         List<String> panoramaImageList = SceneUtil.getPanoramaImageList(visionPath);
         List<String> notExistFileList = uploadFileList.stream().filter(filePath -> {
@@ -1370,21 +1369,19 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
 
         ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
         String bucket = scenePlusExt.getYunFileBucket();
-        String path = scenePlusExt.getDataSource();
 
-        String cachePath = String.format(ConstantFilePath.SCENE_CACHE, num);
-        String imgCachePath = String.format(UploadFilePath.IMG_CACHES_PATH, num);
-        String localImagesPath =  String.format(ConstantFilePath.SCENE_CACHE_IMAGES, num);
+
+        String cachePath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_CACHE, num);
+        String localImagesPath =  scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_CACHE_IMAGES, num);
 
         String cacheFormat = "downloads/scene/%s/caches/";
-        String cacheImageFormat = "downloads/scene/%s/caches/images/";
 
         //判断全景图缓存是否存在,如果不存在,从计算目录中拷贝到缓存目录
 //        this.cachePanorama(scenePlusExt.getDataSource(), num);
 
         //根据vision.txt获取到有效的全景图名称
         String ossVisionPath = String.format(UploadFilePath.IMG_VIEW_PATH, num) + "vision.txt";
-        String visionPath = String.format(ConstantFilePath.SCENE_DATA_PATH_V4, num) + "vision.txt";
+        String visionPath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_DATA_PATH_V4, num) + "vision.txt";
         ossUtil.downloadFile(bucket, ossVisionPath, visionPath);
         List<String> panoramaImageList = SceneUtil.getPanoramaImageList(visionPath);
         if(CollUtil.isEmpty(panoramaImageList)){
@@ -1472,7 +1469,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
     }
 
     private void cachePanorama(String dataSource, String num){
-        String cachedImagesPath = String.format(ConstantFilePath.SCENE_CACHE_IMAGES, num);
+        String cachedImagesPath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_CACHE_IMAGES, num);
         if(FileUtil.exist(cachedImagesPath) && CollUtil.isNotEmpty(FileUtil.listFileNames(cachedImagesPath))){
             return;
         }
@@ -1647,10 +1644,6 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             throw new BusinessException(ErrorCode.FAILURE_CODE_7012);
         }
 
-        if(path != null && !"".equals(path) && path.startsWith("http")){
-            path = ConstantFilePath.BUILD_MODEL_PATH + File.separator + path.split("/")[path.split("/").length - 2];
-        }
-
         String target = path + "_images";
 
         String filePath = target + File.separator + "extras/video" + File.separator + fileName;
@@ -1697,7 +1690,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
     @Override
     public void upgradeVersionToSceneJson(String num, String bucket) throws Exception{
         String key = String.format(RedisKey.SCENE_JSON, num);
-        String objectName = String.format(ConstantFilePath.SCENE_VIEW_DATA_DATA_SCENEJSON, num);
+        String objectName = String.format(UploadFilePath.DATA_VIEW_PATH, num) + "scene.json";
         String objectContent = ossUtil.getFileContent(bucket, objectName);
         SceneJsonBean sceneJsonBean = JSON.parseObject(objectContent, SceneJsonBean.class);
         sceneJsonBean.setVersion(sceneJsonBean.getVersion() +1);
@@ -1724,13 +1717,13 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
 //            String bucket = scenePlusExt.getYunFileBucket();
 //
 //            //更新scene.json文件
-//            String strsceneInfos = FileUtils.readFile(ConstantFilePath.SCENE_PATH + "data" + File.separator + "data" + num + File.separator + "scene.json");
+//            String strsceneInfos = FileUtils.readFile(ConstantFileLocPath.SCENE_PATH + "data" + File.separator + "data" + num + File.separator + "scene.json");
 //            if(strsceneInfos == null)
-//                new File(ConstantFilePath.SCENE_PATH + "data" + File.separator + "data" + num + File.separator + "scene.json").createNewFile();
+//                new File(ConstantFileLocPath.SCENE_PATH + "data" + File.separator + "data" + num + File.separator + "scene.json").createNewFile();
 //
 //            String path = scenePlusExt.getDataSource();//   /mnt/data/0662c5389/831989883441512448/4898cab04f8c_202104141602356060/
 //            if(path != null && !"".equals(path) && path.startsWith("http")){
-//                path = ConstantFilePath.BUILD_MODEL_PATH + File.separator + path.split("/")[path.split("/").length - 2];
+//                path = ConstantFileLocPath.BUILD_MODEL_PATH + File.separator + path.split("/")[path.split("/").length - 2];
 //            }
 //            String target = path + "_ajk";   // /mnt/data/0662c5389/831989883441512448/4898cab04f8c_202104141602356060_ajk
 //            File editPath = new File(target);
@@ -1799,10 +1792,10 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
 //            FileUtils.writeFile(target + File.separator + "extras" + File.separator + "floorplan.json", new String(floorPlanJson.getBytes(), "UTF-8"));
 //
 //            FileUtils.writeFile(target + File.separator + "extras" + File.separator + "floor_ajk.json", new String(ajkJson.getBytes(), "UTF-8"));
-//            FileUtils.writeFile(ConstantFilePath.SCENE_PATH+"data"+File.separator+"data"+num + File.separator + "floor_ajk.json", new String(ajkJson.getBytes(), "UTF-8"));
+//            FileUtils.writeFile(ConstantFileLocPath.SCENE_PATH+"data"+File.separator+"data"+num + File.separator + "floor_ajk.json", new String(ajkJson.getBytes(), "UTF-8"));
 //
 //            FileUtils.writeFile(target + File.separator + "extras" + File.separator + "vision.txt", new String(cameraJson.getBytes(), "UTF-8"));
-//            FileUtils.writeFile(ConstantFilePath.SCENE_PATH+"data"+File.separator+"data"+num + File.separator + "camera.json", new String(cameraJson.getBytes(), "UTF-8"));
+//            FileUtils.writeFile(ConstantFileLocPath.SCENE_PATH+"data"+File.separator+"data"+num + File.separator + "camera.json", new String(cameraJson.getBytes(), "UTF-8"));
 //
 //            for(int i = 0; i < files.length; i ++){
 //
@@ -1967,7 +1960,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             if(exist){
                 return;
             }
-            String filePath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + "mosaic.json";
+            String filePath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num) + "mosaic.json";
             String mosaicData = FileUtils.readUtf8String(filePath);
             if(StrUtil.isEmpty(mosaicData)){
                 return;
@@ -1993,7 +1986,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
      **/
     private void writeMosaic(String num) throws Exception{
 
-        String mosaicPath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + "mosaic.json";
+        String mosaicPath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num) + "mosaic.json";
 
         String key = String.format(RedisKey.SCENE_MOSAIC_DATA, num);
         Map<String, String> mosaicMap = redisUtil.hmget(key);
@@ -2030,7 +2023,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
         String bucket = scenePlusExt.getYunFileBucket();
 
-//        String localImagesPath = String.format(ConstantFilePath.IMAGESBUFFER_FORMAT, num);
+//        String localImagesPath = String.format(ConstantFileLocPath.IMAGESBUFFER_FORMAT, num);
         String localImagesPath = sceneService.getDataSource(num, scenePlus.getSceneSource(), scenePlusExt.getDataSource()) + "linkPan" + File.separator;
         String path = scenePlusExt.getDataSource();
         String target = localImagesPath + "panorama/" + sid;
@@ -2392,7 +2385,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         }
         jsonObject.put("styles", styleList);
 
-        String linkScenePath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + "links.json";
+        String linkScenePath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num) + "links.json";
         String lockVal = cn.hutool.core.lang.UUID.randomUUID().toString();
         String lockKey = String.format(RedisLockKey.LOCK_LINK_SCENE_JSON, num);
         boolean lock = redisLockUtil.lock(lockKey, lockVal, RedisKey.EXPIRE_TIME_1_MINUTE);
@@ -2453,7 +2446,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             if(exist){
                 return;
             }
-            String linkSceneFilePath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num);
+            String linkSceneFilePath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num);
             String linkSceneData = FileUtils.readUtf8String(linkSceneFilePath + "links.json");
             if(StrUtil.isEmpty(linkSceneData)){
                 return;
@@ -2515,7 +2508,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             if(exist){
                 return;
             }
-            String linkSceneFilePath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num);
+            String linkSceneFilePath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num);
             String linkSceneData = FileUtils.readUtf8String(linkSceneFilePath + "links.json");
             if(StrUtil.isEmpty(linkSceneData)){
                 return;
@@ -2868,7 +2861,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
 
     private void writeFilter(String num) throws Exception{
 
-        String filterPath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + "filter.json";
+        String filterPath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num) + "filter.json";
 
         String key = String.format(RedisKey.SCENE_filter_DATA, num);
         List<String> filters = redisUtil.lGet(key, 0, -1);
@@ -2908,7 +2901,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             if(exist){
                 return;
             }
-            String filePath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num);
+            String filePath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num);
             String filterData = FileUtils.readUtf8String(filePath + "filter.json");
             if(StrUtil.isEmpty(filterData)){
                 return;

+ 0 - 1
src/main/java/com/fdkankan/scene/service/impl/SceneFileBuildServiceImpl.java

@@ -15,7 +15,6 @@ import com.fdkankan.common.constant.CommonStatus;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.util.FileUtils;
-import com.fdkankan.model.constants.ConstantFilePath;
 import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.constant.RedisLockKey;

+ 6 - 3
src/main/java/com/fdkankan/scene/service/impl/SceneMarkShapeServiceImpl.java

@@ -11,11 +11,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.common.constant.ErrorCode;
-import com.fdkankan.model.constants.ConstantFilePath;
+import com.fdkankan.scene.constant.ConstantFileLocPath;
 import com.fdkankan.scene.entity.SceneMarkShape;
 import com.fdkankan.scene.entity.SceneShapeEnum;
 import com.fdkankan.scene.mapper.MarkShapeMapper;
 import com.fdkankan.scene.service.ISceneMarkShapeService;
+import com.fdkankan.scene.service.IScenePlusService;
 import com.fdkankan.scene.service.SceneShapeEnumService;
 import com.fdkankan.scene.util.ConverxyUtil;
 import com.fdkankan.scene.vo.SceneMarkShapeParamVO;
@@ -48,6 +49,8 @@ public class SceneMarkShapeServiceImpl extends ServiceImpl<MarkShapeMapper, Scen
     private String mainUrl;
     @Autowired
     private SceneShapeEnumService sceneShapeEnumService;
+    @Autowired
+    private IScenePlusService scenePlusService;
 
 
     @Override
@@ -113,7 +116,7 @@ public class SceneMarkShapeServiceImpl extends ServiceImpl<MarkShapeMapper, Scen
             String fileName = file.getOriginalFilename();
             String extName = FileUtil.extName(fileName);
             String tempFileName = uuid + "." + extName;
-            String srcPath = ConstantFilePath.SCENE_V4_PATH + num + "/markShapes/" + tempFileName;
+            String srcPath = scenePlusService.getDataSource(num) + File.separator + ConstantFileLocPath.SCENE_V4_PATH + num + "/markShapes/" + tempFileName;
             File tempFile = new File(srcPath);
             if(!tempFile.getParentFile().exists()){
                 tempFile.getParentFile().mkdirs();
@@ -160,7 +163,7 @@ public class SceneMarkShapeServiceImpl extends ServiceImpl<MarkShapeMapper, Scen
         String fileName = file.getOriginalFilename();
         String extName = cn.hutool.core.io.FileUtil.extName(fileName);
         String tempFileName = uuid + "." + extName;
-        String srcPath = ConstantFilePath.SCENE_V4_PATH + num + "/markShapes/" + tempFileName;
+        String srcPath = scenePlusService.getDataSource(num) + File.separator + ConstantFileLocPath.SCENE_V4_PATH + num + "/markShapes/" + tempFileName;
         File tempFile = new File(srcPath);
         if(!tempFile.getParentFile().exists()){
             tempFile.getParentFile().mkdirs();

+ 7 - 13
src/main/java/com/fdkankan/scene/service/impl/ScenePlusServiceImpl.java

@@ -18,7 +18,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.common.constant.*;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.util.FileUtils;
-import com.fdkankan.model.constants.ConstantFilePath;
 import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.model.utils.FloorPlanUserUtil;
 import com.fdkankan.scene.bean.SceneBean;
@@ -251,26 +250,14 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
 
         String logoPath = newFile.getPath();
 
-        String outPathZh = ConstantFilePath.BASE_PATH + File.separator + "sceneQRcode/"+num+".png";
-        String outPathEn = ConstantFilePath.BASE_PATH + File.separator + "sceneQRcode/"+num+"_en.png";
-
-        String webSize = mainUrl + "/" + sceneProNewUrl + num;
-        QrCodeUtil.generate(webSize, QrConfig.create().setImg(logoPath).setWidth(1024).setHeight(1024), FileUtil.file(outPathZh));
-        QrCodeUtil.generate(webSize + "&lang=en", QrConfig.create().setImg(logoPath).setWidth(1024).setHeight(1024), FileUtil.file(outPathEn));
         //上传logo图片
         String ossLogoPath = String.format(UploadFilePath.DOWNLOADS_QRCODE, num) + "shareLogo" + extName;
         ossUtil.uploadFile(bucket, ossLogoPath, logoPath, false);
 
-        //上传二维码
-        ossUtil.uploadFile(bucket, String.format(UploadFilePath.DOWNLOADS_QRCODE, num) + num + ".png", outPathZh, false);
-        ossUtil.uploadFile(bucket,String.format(UploadFilePath.DOWNLOADS_QRCODE, num) + num + "_en.png", outPathEn, false);
-
         sceneEditInfoExt.setShareLogoImg(ossLogoPath);
         sceneEditInfoExtService.updateById(sceneEditInfoExt);
 
         FileUtil.del(newFile);
-        FileUtil.del(new File(outPathEn));
-        FileUtil.del(new File(outPathZh));
 
 
         return ResultData.ok();
@@ -650,4 +637,11 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
             }
         });
     }
+
+    @Override
+    public String getDataSource(String num) {
+        ScenePlus scenePlus = this.getScenePlusByNum(num);
+        ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
+        return scenePlusExt.getDataSource();
+    }
 }

+ 9 - 10
src/main/java/com/fdkankan/scene/service/impl/SceneProServiceImpl.java

@@ -17,7 +17,6 @@ import com.fdkankan.common.constant.*;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.util.FileUtils;
 import com.fdkankan.model.constants.ConstantFileName;
-import com.fdkankan.model.constants.ConstantFilePath;
 import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.model.utils.ComputerUtil;
 import com.fdkankan.model.utils.ConvertUtils;
@@ -177,7 +176,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
         ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
         String extName = FileUtil.extName(file.getOriginalFilename());
-        String fragmentPath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num).replace("/",File.separator) + "hot_img_fragment" + File.separator;
+        String fragmentPath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num).replace("/",File.separator) + "hot_img_fragment" + File.separator;
         String workPath = scenePlusExt.getDataSource() +  fragmentPath + sid;
         String dziPath = workPath + ".dzi";
         String outFilesPath = workPath + "_files" + File.separator;
@@ -465,7 +464,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             if(exist){
                 return;
             }
-            String tagsFilePath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + "hot.json";
+            String tagsFilePath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num) + "hot.json";
             String tagsData = FileUtils.readUtf8String(tagsFilePath);
             if(StrUtil.isEmpty(tagsData)){
                 return;
@@ -511,7 +510,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             if(exist){
                 return;
             }
-            String tagsFilePath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + "hot.json";
+            String tagsFilePath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num) + "hot.json";
             String tagsData = FileUtils.readUtf8String(tagsFilePath);
             if(StrUtil.isEmpty(tagsData)){
                 return;
@@ -559,7 +558,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         Set<String> iconList = redisUtil.sGet(iconsKey);
         jsonObject.put("icons", iconList);
 
-        String hotJsonPath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + "hot.json";
+        String hotJsonPath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_USER_PATH_V4, num) + "hot.json";
         String lockKey = String.format(RedisLockKey.LOCK_HOT_JSON, num);
         String lockVal = cn.hutool.core.lang.UUID.randomUUID().toString();
         boolean lock = redisLockUtil.lock(lockKey, lockVal, RedisKey.EXPIRE_TIME_1_MINUTE);
@@ -777,7 +776,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
 
         JSONArray inputData = JSONObject.parseArray(param.getData());
 
-        String localDataPath = String.format(scenePlusExt.getDataSource()+ ConstantFileLocPath.SCENE_DATA_PATH_V4, param.getNum());
+        String localDataPath = scenePlusExt.getDataSource() + File.separator + String.format(ConstantFileLocPath.SCENE_DATA_PATH_V4, param.getNum());
         File directory = new File(localDataPath);
         if (!directory.exists()) {
             directory.mkdirs();
@@ -1310,9 +1309,9 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
 
         //下载mesh到本地
         String meshOssPath = String.format(UploadFilePath.DATA_VIEW_PATH, num) + "mesh" + File.separator;
-        String meshLocalPath = String.format(ConstantFilePath.SCENE_DATA_PATH_V4, num) + "mesh" + File.separator;
+        String meshLocalPath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_DATA_PATH_V4, num) + "mesh" + File.separator;
         String zipName = num + "_mesh.zip";
-        String zipFilePath = String.format(ConstantFilePath.SCENE_DATA_PATH_V4, num) + zipName;
+        String zipFilePath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.SCENE_DATA_PATH_V4, num) + zipName;
         List<String> keys = ossUtil.listFiles(bucket, meshOssPath);
         //下载
         //下载
@@ -1368,7 +1367,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
 
 
     private String downloadModel4Dam(String num, String bucket){
-        String localImagePath = String.format(ConstantFilePath.IMAGESBUFFER_FORMAT, num);
+        String localImagePath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.IMAGESBUFFER_FORMAT, num);
         if(!new File(localImagePath).exists()){
             new File(localImagePath).mkdirs();
         }
@@ -1378,7 +1377,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
 
         String dataViewPath = String.format(UploadFilePath.DATA_VIEW_PATH, num);
         //V3版本去oss下载2048模型
-        String meshPath =  String.format(ConstantFilePath.DATABUFFER_FORMAT, num) + "mesh";
+        String meshPath = scenePlusService.getDataSource(num) + File.separator + String.format(ConstantFileLocPath.DATABUFFER_FORMAT, num) + "mesh";
         FileUtils.deleteDirectory(meshPath);
         ossUtil.downloadFile(bucket, dataViewPath + "mesh", meshPath);
         log.info("meshPath="+meshPath);

+ 1 - 39
src/main/java/com/fdkankan/scene/service/impl/SceneServiceImpl.java

@@ -18,12 +18,12 @@ import com.fdkankan.common.constant.SceneConstant;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.util.DateExtUtil;
 import com.fdkankan.common.util.FileUtils;
-import com.fdkankan.model.constants.ConstantFilePath;
 import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.scene.bean.BodySegmentStatusBean;
 import com.fdkankan.scene.config.FdkkLaserConfig;
+import com.fdkankan.scene.constant.ConstantFileLocPath;
 import com.fdkankan.scene.entity.*;
 import com.fdkankan.scene.mapper.ISceneMapper;
 import com.fdkankan.scene.oss.OssUtil;
@@ -152,44 +152,6 @@ public class SceneServiceImpl extends ServiceImpl<ISceneMapper, Scene> implement
     }
 
     @Override
-    public void bodySegmentHandler(String imgUrl, String uuid) {
-        String progress = redisUtil.hget(RedisKey.SCENE_BODY_SEGMENT, uuid);
-        BodySegmentStatusBean bodySegmentStatusBean = null;
-        try {
-            if(StrUtil.isEmpty(progress)){
-                bodySegmentStatusBean = JSON.parseObject(progress, BodySegmentStatusBean.class);
-            }
-            if(Objects.isNull(bodySegmentStatusBean)){
-                bodySegmentStatusBean = new BodySegmentStatusBean();
-                bodySegmentStatusBean.setUuid(uuid);
-            }
-            String dir = ConstantFilePath.BASE_PATH + "/bodySegment/" +
-                    DateExtUtil.format(Calendar.getInstance().getTime(), DateExtUtil.dateStyle6);
-            String fileName = uuid + ".png";
-            String imgPath = dir + "/" + fileName;
-            ossBodySegmentUtil.extracted(imgUrl, dir, fileName);
-            if(!FileUtil.exist(imgPath)){
-                throw new Exception("提取图片失败");
-            }
-            String targetOssImgPath = "body_segment/segment/" + uuid + ".png";
-//            ossUtil.uploadFile(targetOssImgPath, imgPath, false);
-            bodySegmentStatusBean.setStatus(CommonOperStatus.SUCCESS.code());
-//            bodySegmentStatusBean.setImageUrl(fYunFileConfig.getHost() + targetOssImgPath);
-            redisUtil.set(String.format(RedisKey.SCENE_BODY_SEGMENT, uuid), JSON.toJSONString(bodySegmentStatusBean), RedisKey.CAMERA_EXPIRE_7_TIME);
-        } catch (Exception e) {
-            bodySegmentStatusBean.setStatus(CommonOperStatus.FAILD.code());
-            redisUtil.set(String.format(RedisKey.SCENE_BODY_SEGMENT, uuid), JSON.toJSONString(bodySegmentStatusBean), RedisKey.CAMERA_EXPIRE_7_TIME);
-        }finally {
-            try {
-                //免费版qps不能大于2,故休眠一秒
-                Thread.sleep(1000L);
-            } catch (InterruptedException e) {
-                e.printStackTrace();
-            }
-        }
-    }
-
-    @Override
     public void saveSceneOientation(Map<String, Object> map) {
         String num = (String) map.get("num");
         String orientation = (String)map.get("orientation");

+ 1 - 2
src/main/java/com/fdkankan/scene/service/impl/SceneUploadServiceImpl.java

@@ -14,7 +14,6 @@ import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.constant.RecStatus;
 import com.fdkankan.common.constant.ServerCode;
 import com.fdkankan.common.util.FileUtils;
-import com.fdkankan.model.constants.ConstantFilePath;
 import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.scene.oss.OssUtil;
@@ -142,7 +141,7 @@ public class SceneUploadServiceImpl extends ServiceImpl<ISceneUploadMapper, Scen
             String fileName = file.getOriginalFilename();
             // 获取文件后缀
             String prefix = fileName.substring(fileName.lastIndexOf("."));
-//            String path = String.format(ConstantFilePath.SCENE_TMP_PATH_V4, num).concat(UUID.randomUUID().toString()).concat(prefix);
+//            String path = String.format(ConstantFileLocPath.SCENE_TMP_PATH_V4, num).concat(UUID.randomUUID().toString()).concat(prefix);
             File newFile = File.createTempFile(UUID.randomUUID().toString() ,prefix);
 //            FileUtil.mkParentDirs(path);
             file.transferTo(newFile);