lyhzzz 3 years ago
parent
commit
b5cf0adab1

+ 6 - 1
src/main/java/com/fdkankan/fusion/controller/TestController.java

@@ -2,12 +2,14 @@ package com.fdkankan.fusion.controller;
 
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.fusion.common.ResultData;
 import com.fdkankan.fusion.common.ResultData;
+import com.fdkankan.fusion.common.util.RedisKeyUtil;
 import com.fdkankan.fusion.httpClient.client.FdKKClient;
 import com.fdkankan.fusion.httpClient.client.FdKKClient;
 import com.fdkankan.fusion.httpClient.client.LaserClient;
 import com.fdkankan.fusion.httpClient.client.LaserClient;
 import com.fdkankan.fusion.httpClient.client.OverallClient;
 import com.fdkankan.fusion.httpClient.client.OverallClient;
 import com.fdkankan.fusion.httpClient.request.FdkkLoginRequest;
 import com.fdkankan.fusion.httpClient.request.FdkkLoginRequest;
 import com.fdkankan.fusion.httpClient.response.FdkkLoginVo;
 import com.fdkankan.fusion.httpClient.response.FdkkLoginVo;
 import com.fdkankan.fusion.httpClient.response.FdkkResponse;
 import com.fdkankan.fusion.httpClient.response.FdkkResponse;
+import com.fdkankan.redis.util.RedisUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -19,10 +21,13 @@ import javax.annotation.Resource;
 @RestController
 @RestController
 public class TestController {
 public class TestController {
 
 
+    @Autowired
+    RedisUtil redisUtil;
 
 
     @RequestMapping("/test")
     @RequestMapping("/test")
     public String test(){
     public String test(){
-        return JSONObject.toJSONString("");
+        redisUtil.set(RedisKeyUtil.mergerVideoKey+1,"10");
+        return redisUtil.get(RedisKeyUtil.mergerVideoKey+1);
     }
     }
 
 
 
 

+ 32 - 29
src/main/java/com/fdkankan/fusion/service/impl/CaseVideoServiceImpl.java

@@ -82,41 +82,44 @@ public class CaseVideoServiceImpl extends ServiceImpl<ICaseVideoMapper, CaseVide
         uploadService.deleteOssUrl(videoFolder.getVideoMergeUrl());
         uploadService.deleteOssUrl(videoFolder.getVideoMergeUrl());
         uploadService.deleteOssUrl(videoFolder.getVideoFolderCover());
         uploadService.deleteOssUrl(videoFolder.getVideoFolderCover());
         this.deleteByFolderId(folderId);
         this.deleteByFolderId(folderId);
-        //替换文件夹中文件
-        List<CaseVideo> videoList = new ArrayList<>();
-        Integer sort = 1;
-        LinkedHashSet<String> filePathSet = new LinkedHashSet<>();
-        for (MultipartFile file : files) {
-            String ossPath = uploadService.uploadFile(file, true, String.format(FilePath.VIDEO_OSS_PATH,videoFolder.getVideoFolderId())+"/",filePathSet);
-            String suffixName = ossPath.substring(ossPath.lastIndexOf("."));
-
-            CaseVideo caseVideo = new CaseVideo();
-            caseVideo.setFolderId(videoFolder.getVideoFolderId());
-            caseVideo.setVideoPath(ossPath);
-            caseVideo.setVideoName(file.getName());
-            caseVideo.setVideoCover(ossPath.replace(suffixName,".jpg"));
-            caseVideo.setSort(sort);
-            videoList.add(caseVideo);
-            sort ++;
-        }
-        this.saveBatch(videoList);
-        if(videoList.size() <=0){
-            return;
-        }
-        if(videoList.size() ==1){
-            videoFolder.setVideoMergeUrl(videoList.get(0).getVideoPath());
-            videoFolder.setVideoFolderCover(videoList.get(0).getVideoCover());
-            videoFolderService.updateById(videoFolder);
-            return;
-        }
         redisUtil.set(RedisKeyUtil.mergerVideoKey+videoFolder.getVideoFolderId(),"10");
         redisUtil.set(RedisKeyUtil.mergerVideoKey+videoFolder.getVideoFolderId(),"10");
-        runThread(filePathSet,videoFolder);
+        runThread(files,videoFolder,this);
+
     }
     }
 
 
-    private void runThread(LinkedHashSet<String> filePathSet,CaseVideoFolder videoFolder){
+    private void runThread(MultipartFile[] files,CaseVideoFolder videoFolder,ICaseVideoService caseVideoService){
         ThreadUtil.executorService.execute(new Runnable() {
         ThreadUtil.executorService.execute(new Runnable() {
             @Override
             @Override
             public void run() {
             public void run() {
+                //替换文件夹中文件
+                List<CaseVideo> videoList = new ArrayList<>();
+                Integer sort = 1;
+                LinkedHashSet<String> filePathSet = new LinkedHashSet<>();
+                for (MultipartFile file : files) {
+                    String ossPath = uploadService.uploadFile(file, true, String.format(FilePath.VIDEO_OSS_PATH,videoFolder.getVideoFolderId())+"/",filePathSet);
+                    String suffixName = ossPath.substring(ossPath.lastIndexOf("."));
+
+                    CaseVideo caseVideo = new CaseVideo();
+                    caseVideo.setFolderId(videoFolder.getVideoFolderId());
+                    caseVideo.setVideoPath(ossPath);
+                    caseVideo.setVideoName(file.getName());
+                    caseVideo.setVideoCover(ossPath.replace(suffixName,".jpg"));
+                    caseVideo.setSort(sort);
+                    videoList.add(caseVideo);
+                    sort ++;
+                }
+                caseVideoService.saveBatch(videoList);
+                if(videoList.size() <=0){
+                    return;
+                }
+                if(videoList.size() ==1){
+                    videoFolder.setVideoMergeUrl(videoList.get(0).getVideoPath());
+                    videoFolder.setVideoFolderCover(videoList.get(0).getVideoCover());
+                    videoFolderService.updateById(videoFolder);
+                    return;
+                }
+                redisUtil.set(RedisKeyUtil.mergerVideoKey+videoFolder.getVideoFolderId(),"20");
+
                 String mergeLocalName = VideoUtil.mergeVideo(filePathSet, FilePath.VIDEO_LOCAL_PATH);
                 String mergeLocalName = VideoUtil.mergeVideo(filePathSet, FilePath.VIDEO_LOCAL_PATH);
                 redisUtil.set(RedisKeyUtil.mergerVideoKey+videoFolder.getVideoFolderId(),"30");
                 redisUtil.set(RedisKeyUtil.mergerVideoKey+videoFolder.getVideoFolderId(),"30");
                 if(mergeLocalName == null){
                 if(mergeLocalName == null){