|
@@ -3,6 +3,7 @@ package com.fdkankan.scene.service.impl;
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.io.FileUtil;
|
|
import cn.hutool.core.io.FileUtil;
|
|
|
|
+import cn.hutool.core.io.IORuntimeException;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
@@ -29,6 +30,7 @@ import com.fdkankan.scene.entity.*;
|
|
import com.fdkankan.scene.mapper.ISceneEditInfoMapper;
|
|
import com.fdkankan.scene.mapper.ISceneEditInfoMapper;
|
|
import com.fdkankan.scene.oss.OssUtil;
|
|
import com.fdkankan.scene.oss.OssUtil;
|
|
import com.fdkankan.scene.service.*;
|
|
import com.fdkankan.scene.service.*;
|
|
|
|
+import com.fdkankan.scene.util.MergeVideoUtil;
|
|
import com.fdkankan.scene.vo.*;
|
|
import com.fdkankan.scene.vo.*;
|
|
import com.fdkankan.web.response.ResultData;
|
|
import com.fdkankan.web.response.ResultData;
|
|
import com.google.common.collect.Lists;
|
|
import com.google.common.collect.Lists;
|
|
@@ -42,6 +44,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
import java.io.File;
|
|
import java.io.File;
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
import java.nio.charset.StandardCharsets;
|
|
import java.nio.charset.StandardCharsets;
|
|
|
|
+import java.nio.file.FileSystemException;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.Map.Entry;
|
|
import java.util.Map.Entry;
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
@@ -210,7 +213,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
}
|
|
}
|
|
|
|
|
|
//发布马赛克列表
|
|
//发布马赛克列表
|
|
-// sceneJson.setMosaicList(this.getMosaicList(num));
|
|
|
|
|
|
+ sceneJson.setMosaicList(this.getMosaicList(num));
|
|
|
|
|
|
//处理热点数据,生成hot.json
|
|
//处理热点数据,生成hot.json
|
|
this.publicHotData(num, sceneEditInfo, bucket);
|
|
this.publicHotData(num, sceneEditInfo, bucket);
|
|
@@ -233,7 +236,13 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
|
|
|
//删除发布数据中的user目录
|
|
//删除发布数据中的user目录
|
|
String publicUserPath = String.format(UploadFilePath.USER_VIEW_PATH, num);
|
|
String publicUserPath = String.format(UploadFilePath.USER_VIEW_PATH, num);
|
|
- ossUtil.deleteObject(publicUserPath);
|
|
|
|
|
|
+ try{
|
|
|
|
+ ossUtil.deleteObject(publicUserPath);
|
|
|
|
+ }catch (IORuntimeException e){
|
|
|
|
+ if (e.getMessage().contains("另一个程序正在使用此文件,进程无法访问")){
|
|
|
|
+ throw new BusinessException(ErrorCode.FAILURE_CODE_5071);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
//复制编辑目录到发布目录
|
|
//复制编辑目录到发布目录
|
|
String editPath = String.format(UploadFilePath.USER_EDIT_PATH, param.getNum());
|
|
String editPath = String.format(UploadFilePath.USER_EDIT_PATH, param.getNum());
|
|
@@ -1916,7 +1925,11 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
//删除oss文件
|
|
//删除oss文件
|
|
String imgEditPath = String.format(UploadFilePath.IMG_EDIT_PATH, num);
|
|
String imgEditPath = String.format(UploadFilePath.IMG_EDIT_PATH, num);
|
|
thumbNameList.stream().forEach(thumbName->{
|
|
thumbNameList.stream().forEach(thumbName->{
|
|
- ossUtil.deleteObject(imgEditPath + "panorama_edit/" + thumbName);
|
|
|
|
|
|
+ try{
|
|
|
|
+ ossUtil.deleteObject(imgEditPath + "panorama_edit/" + thumbName);
|
|
|
|
+ }catch (FileSystemException e){
|
|
|
|
+
|
|
|
|
+ }
|
|
});
|
|
});
|
|
|
|
|
|
}
|
|
}
|
|
@@ -2422,9 +2435,12 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
}
|
|
}
|
|
|
|
|
|
private void transferToFlv(String num, String fileName, String bucket) throws Exception {
|
|
private void transferToFlv(String num, String fileName, String bucket) throws Exception {
|
|
|
|
+ ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
|
|
|
|
+
|
|
|
|
+ ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
|
|
|
|
|
|
String userEditPath = String.format(UploadFilePath.USER_EDIT_PATH, num);
|
|
String userEditPath = String.format(UploadFilePath.USER_EDIT_PATH, num);
|
|
- String localImagesPath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num);
|
|
|
|
|
|
+ String localImagesPath = String.format(scenePlusExt.getDataSource()+ConstantFileLocPath.SCENE_DATA_PATH_V4, num);
|
|
String localFilePath = localImagesPath + fileName;
|
|
String localFilePath = localImagesPath + fileName;
|
|
|
|
|
|
File targetFile = new File(localImagesPath);
|
|
File targetFile = new File(localImagesPath);
|
|
@@ -2442,11 +2458,12 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
ossUtil.downloadFile(filePath, localImagesPath + fileName);
|
|
ossUtil.downloadFile(filePath, localImagesPath + fileName);
|
|
|
|
|
|
//视频格式转换
|
|
//视频格式转换
|
|
- CreateObjUtil.mp4ToFlv(localFilePath, localFilePath.replace("mp4", "flv"));
|
|
|
|
|
|
+ MergeVideoUtil.ffmpegFormatFlv(localFilePath, localFilePath.replace("mp4", "flv"));
|
|
|
|
|
|
//上传
|
|
//上传
|
|
String flvFileName = fileName.replace("mp4", "flv");
|
|
String flvFileName = fileName.replace("mp4", "flv");
|
|
ossUtil.uploadFile(userEditPath+flvFileName, localFilePath.replace("mp4", "flv"), false);
|
|
ossUtil.uploadFile(userEditPath+flvFileName, localFilePath.replace("mp4", "flv"), false);
|
|
|
|
+ FileUtil.del(localFilePath);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|