lyhzzz 2 年之前
父节点
当前提交
e97d77a537

+ 0 - 1
src/main/java/com/fdkankan/fusion/common/FilePath.java

@@ -4,7 +4,6 @@ public class FilePath {
 
     public final static String LOCAL_BASE_PATH = "/home/tomcat/jar-fusion-8808/";
     public final static String MNT_BASE_PATH = "/mnt/fusion/";
-    public final static String OSS_BASE_PATH = "fusion/";
 
     public final static String OBJ_OSS_PATH = "scene_view_data/%s/data/mesh";
     public final static String GLB_OSS_PATH = "fusion/%s/model/glb/%s/mesh.glb";

+ 13 - 7
src/main/java/com/fdkankan/fusion/service/impl/CaseVideoServiceImpl.java

@@ -93,7 +93,7 @@ public class CaseVideoServiceImpl extends ServiceImpl<ICaseVideoMapper, CaseVide
         Integer sort = 1;
         LinkedHashSet<String> filePathSet = new LinkedHashSet<>();
         for (MultipartFile file : files) {
-            String localPath = uploadService.uploadFile(file, true);
+            String localPath = uploadService.uploadFile(file, videoFolder.getVideoFolderId());
             if(StringUtils.isEmpty(localPath)){
                 throw new BusinessException(ResultCode.UPLOAD_ERROR);
             }
@@ -117,11 +117,12 @@ public class CaseVideoServiceImpl extends ServiceImpl<ICaseVideoMapper, CaseVide
         new Thread(new Runnable() {
             @Override
             public void run() {
+                LinkedHashSet<String> filePathSetAll = new LinkedHashSet<>();
+                LinkedHashSet<String> ossDelList = new LinkedHashSet<>();
+                String mergeLocalPath = null;
+                String mergeLocalPathImg = null;
                 try {
-                    LinkedHashSet<String> filePathSetAll = new LinkedHashSet<>();
                     String mergeVideoUrl = null;
-                    LinkedHashSet<String> ossDelList = new LinkedHashSet<>();
-
                     if (StringUtils.isNotBlank(videoFolder.getVideoMergeUrl())) {
                         mergeVideoUrl = videoFolder.getVideoMergeUrl().replace(queryPath, "/home/");
                         uploadToOssUtil.downFormAli(videoFolder.getVideoMergeUrl().replace(queryPath, ""), mergeVideoUrl);
@@ -146,7 +147,7 @@ public class CaseVideoServiceImpl extends ServiceImpl<ICaseVideoMapper, CaseVide
                         redisUtil.set(RedisKeyUtil.mergerVideoKey + videoFolder.getVideoFolderId(), "-1");
                         return;
                     }
-                    String mergeLocalPath = String.format(FilePath.VIDEO_LOCAL_PATH,environment) + "/" + mergeLocalName;
+                    mergeLocalPath = String.format(FilePath.VIDEO_LOCAL_PATH,environment) + "/" + mergeLocalName;
                     String ossKey = String.format(FilePath.VIDEO_OSS_PATH,environment, videoFolder.getVideoFolderId()) + "/" + mergeLocalName;
                     uploadToOssUtil.uploadOss(mergeLocalPath, ossKey);
                     if (!uploadToOssUtil.existKey(ossKey)) {
@@ -155,7 +156,7 @@ public class CaseVideoServiceImpl extends ServiceImpl<ICaseVideoMapper, CaseVide
                         return;
                     }
                     if(newCover){
-                        String mergeLocalPathImg = String.format(FilePath.VIDEO_LOCAL_PATH,environment) + "/" + mergeLocalName.replace(".mp4", ".jpg");
+                        mergeLocalPathImg = String.format(FilePath.VIDEO_LOCAL_PATH,environment) + "/" + mergeLocalName.replace(".mp4", ".jpg");
                         String ossKeyImg = String.format(FilePath.VIDEO_OSS_PATH, environment,videoFolder.getVideoFolderId()) + "/" + mergeLocalName.replace(".mp4", ".jpg");
                         uploadToOssUtil.uploadOss(mergeLocalPathImg, ossKeyImg);
                         if (!uploadToOssUtil.existKey(ossKeyImg)) {
@@ -170,7 +171,6 @@ public class CaseVideoServiceImpl extends ServiceImpl<ICaseVideoMapper, CaseVide
 
                     videoFolder.setVideoMergeUrl(queryPath + ossKey);
                     videoFolderService.updateById(videoFolder);
-                    FileUtil.del(String.format(FilePath.VIDEO_LOCAL_PATH,environment));
                     updateCaseVideoStatus(videoFolder.getVideoFolderId(), 1);
 
                     //删除oss原资源
@@ -182,6 +182,12 @@ public class CaseVideoServiceImpl extends ServiceImpl<ICaseVideoMapper, CaseVide
                     updateCaseVideoStatus(videoFolder.getVideoFolderId(), -1);
                     redisUtil.set(RedisKeyUtil.mergerVideoKey + videoFolder.getVideoFolderId(), "-1");
                     log.info("合并视频出错:",e);
+                }finally {
+                    for (String path : filePathSetAll) {
+                        FileUtil.del(path);
+                    }
+                    FileUtil.del(mergeLocalPath);
+                    FileUtil.del(mergeLocalPathImg);
                 }
             }
         }).start();

+ 9 - 6
src/main/java/com/fdkankan/fusion/service/impl/UploadService.java

@@ -1,5 +1,6 @@
 package com.fdkankan.fusion.service.impl;
 
+import com.fdkankan.fusion.common.FilePath;
 import com.fdkankan.fusion.common.ResultCode;
 import com.fdkankan.fusion.common.util.ShellUtil;
 import com.fdkankan.fusion.common.util.UploadToOssUtil;
@@ -24,8 +25,10 @@ public class UploadService {
 
     @Value("${upload.query-path}")
     private String queryPath;
+    @Value("${spring.profiles.active}")
+    private String environment;
 
-    public String uploadFile(MultipartFile file, boolean newName) {
+    public String uploadFile(MultipartFile file, Integer videoFolderId) {
         if(file.isEmpty()){
             throw new BusinessException(ResultCode.UPLOAD_FILE_NO_EXIST);
         }
@@ -43,12 +46,12 @@ public class UploadService {
             //获取文件后缀名
             String suffixName = fileName.substring(fileName.lastIndexOf("."));
             //重新生成文件名
-            if(newName){
-                fileName = UUID.randomUUID().toString().replace("-","") ;
-            }else {
-                fileName= fileName.substring(0,fileName.lastIndexOf("."));
+            fileName = UUID.randomUUID().toString().replace("-","") ;
+
+            localFile = new File(String.format(FilePath.VIDEO_LOCAL_PATH,environment) +"/"+videoFolderId +"/"+fileName + suffixName );
+            if(!localFile.getParentFile().exists()){
+                localFile.mkdirs();
             }
-            localFile = File.createTempFile(fileName + suffixName,suffixName);
             file.transferTo(localFile);
             return localFile.getPath();
         }catch (Exception e){