|
@@ -56,16 +56,20 @@ import com.fdkankan.scene.service.IScenePlusExtService;
|
|
|
import com.fdkankan.scene.service.IScenePlusService;
|
|
|
import com.fdkankan.scene.service.ISceneProExtService;
|
|
|
import com.fdkankan.scene.service.ISceneProService;
|
|
|
+import com.fdkankan.scene.service.ISceneUploadService;
|
|
|
import com.fdkankan.scene.vo.*;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import com.google.errorprone.annotations.Var;
|
|
|
import java.io.File;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
+import java.util.HashSet;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.Map.Entry;
|
|
|
+import java.util.Set;
|
|
|
import java.util.UUID;
|
|
|
import java.util.stream.Collectors;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -136,6 +140,8 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
IScenePlusExtService scenePlusExtService;
|
|
|
@Autowired
|
|
|
private FdkankanMiniClient fdkankanMiniClient;
|
|
|
+ @Autowired
|
|
|
+ private ISceneUploadService sceneUploadService;
|
|
|
|
|
|
@Transactional
|
|
|
@Override
|
|
@@ -1028,7 +1034,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
this.transferToFlv(param.getNum(), param.getFileName());
|
|
|
|
|
|
//生成boxVideos数据
|
|
|
- String boxVideos = this.createBoxVideos(sid, boxVideo, sceneEditInfo, OperationType.ADDORUPDATE.code());
|
|
|
+ String boxVideos = this.createBoxVideos(param.getNum(), sid, boxVideo, sceneEditInfo, OperationType.ADDORUPDATE.code());
|
|
|
|
|
|
//更新数据库
|
|
|
this.updateBoxVideos(sceneEditInfo, scenePlus.getId(), boxVideos);
|
|
@@ -1047,7 +1053,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
SceneEditInfo sceneEditInfo = this.getByScenePlusId(scenePlus.getId());
|
|
|
|
|
|
//根据sid移除json
|
|
|
- String boxVideos = this.createBoxVideos(param.getSid(), null, sceneEditInfo, OperationType.DELETE.code());
|
|
|
+ String boxVideos = this.createBoxVideos(param.getNum(), param.getSid(), null, sceneEditInfo, OperationType.DELETE.code());
|
|
|
|
|
|
//写数据库
|
|
|
this.updateBoxVideos(sceneEditInfo,scenePlus.getId(),boxVideos);
|
|
@@ -1056,7 +1062,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public ResultData saveBoxPhoto(BaseDataParamVO param){
|
|
|
+ public ResultData saveBoxPhoto(BaseDataParamVO param) throws Exception {
|
|
|
|
|
|
JSONObject boxPhoto = JSONObject.parseObject(param.getData());
|
|
|
String sid = boxPhoto.getString("sid");
|
|
@@ -1070,7 +1076,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
SceneEditInfo sceneEditInfo = this.getByScenePlusId(scenePlus.getId());
|
|
|
|
|
|
//生成boxVideos数据
|
|
|
- String boxPhotos = this.createBoxPhotos(sid, boxPhoto, sceneEditInfo, OperationType.ADDORUPDATE.code());
|
|
|
+ String boxPhotos = this.createBoxPhotos(param.getNum(), sid, boxPhoto, sceneEditInfo, OperationType.ADDORUPDATE.code());
|
|
|
|
|
|
//更新数据库
|
|
|
this.updateBoxPhotos(sceneEditInfo, boxPhotos);
|
|
@@ -1079,7 +1085,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public ResultData deleteBoxPhoto(DeleteSidParamVO param){
|
|
|
+ public ResultData deleteBoxPhoto(DeleteSidParamVO param) throws Exception {
|
|
|
|
|
|
ScenePlus scenePlus = scenePlusService.getScenePlusByNum(param.getNum());
|
|
|
if(Objects.isNull(scenePlus))
|
|
@@ -1088,7 +1094,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
SceneEditInfo sceneEditInfo = this.getByScenePlusId(scenePlus.getId());
|
|
|
|
|
|
//根据sid移除json
|
|
|
- String boxPhotos = this.createBoxPhotos(param.getSid(), null, sceneEditInfo, OperationType.DELETE.code());
|
|
|
+ String boxPhotos = this.createBoxPhotos(param.getNum(), param.getSid(), null, sceneEditInfo, OperationType.DELETE.code());
|
|
|
|
|
|
//写数据库
|
|
|
this.updateBoxPhotos(sceneEditInfo, boxPhotos);
|
|
@@ -1407,7 +1413,9 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
.eq(SceneEditInfo::getId, sceneEditInfo.getId()));
|
|
|
}
|
|
|
|
|
|
- private String createBoxVideos(String sid, JSONObject boxVideo, SceneEditInfo sceneEditInfo, int type){
|
|
|
+ private String createBoxVideos(
|
|
|
+ String num, String sid, JSONObject boxVideo,
|
|
|
+ SceneEditInfo sceneEditInfo, int type) throws Exception{
|
|
|
|
|
|
String boxVideos = null;
|
|
|
if(sceneEditInfo != null){
|
|
@@ -1423,15 +1431,32 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
String result = null;
|
|
|
//删除
|
|
|
if(type == OperationType.DELETE.code()){
|
|
|
+ Set<String> deleteFile = new HashSet<>();
|
|
|
if(boxVideosJson.size() == 0)
|
|
|
return null;
|
|
|
for(int i=0;i<boxVideosJson.size();++i){
|
|
|
JSONObject ele = boxVideosJson.getJSONObject(i);
|
|
|
if(ele.getString("sid").equals(sid)){
|
|
|
+
|
|
|
+ String poster = ele.getString("poster");
|
|
|
+ if(StrUtil.isNotEmpty(poster))
|
|
|
+ deleteFile.add(poster);
|
|
|
+ String url = ele.getString("url");
|
|
|
+ if(StrUtil.isNotEmpty(url)){
|
|
|
+ deleteFile.add(url);
|
|
|
+ deleteFile.add(url.replace(".mp4",".flv"));
|
|
|
+ }
|
|
|
+
|
|
|
boxVideosJson.remove(i);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ //删除资源文件
|
|
|
+ if(CollUtil.isNotEmpty(deleteFile))
|
|
|
+ sceneUploadService.delete(
|
|
|
+ DeleteFileParamVO.builder().num(num)
|
|
|
+ .bizType(FileBizType.BOX_VIDEO.code())
|
|
|
+ .fileNames(new ArrayList<>(deleteFile)).build());
|
|
|
}else{
|
|
|
|
|
|
// TODO: 2022/3/1 目前需求只保留一个,所以这里先注释掉,sid不同时,不追加
|
|
@@ -1460,7 +1485,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- private String createBoxPhotos(String sid, JSONObject boxPhoto, SceneEditInfo sceneEditInfo, int type){
|
|
|
+ private String createBoxPhotos(String num, String sid, JSONObject boxPhoto, SceneEditInfo sceneEditInfo, int type) throws Exception{
|
|
|
|
|
|
String boxPhotos = null;
|
|
|
if(sceneEditInfo != null){
|
|
@@ -1476,15 +1501,29 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
String result = null;
|
|
|
//删除
|
|
|
if(type == OperationType.DELETE.code()){
|
|
|
+ Set<String> deleteFile = new HashSet<>();
|
|
|
if(boxPhotosJson.size() == 0)
|
|
|
return null;
|
|
|
for(int i=0;i<boxPhotosJson.size();++i){
|
|
|
JSONObject ele = boxPhotosJson.getJSONObject(i);
|
|
|
if(ele.getString("sid").equals(sid)){
|
|
|
+
|
|
|
+ String poster = ele.getString("poster");
|
|
|
+ if(StrUtil.isNotEmpty(poster))
|
|
|
+ deleteFile.add(poster);
|
|
|
+ String url = ele.getString("url");
|
|
|
+ if(StrUtil.isNotEmpty(url))
|
|
|
+ deleteFile.add(url);
|
|
|
+
|
|
|
boxPhotosJson.remove(i);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ //删除资源文件
|
|
|
+ if(CollUtil.isNotEmpty(deleteFile))
|
|
|
+ sceneUploadService.delete(
|
|
|
+ DeleteFileParamVO.builder().num(num)
|
|
|
+ .bizType(FileBizType.BOX_VIDEO.code())
|
|
|
+ .fileNames(new ArrayList<>(deleteFile)).build());
|
|
|
}else{
|
|
|
//更新
|
|
|
boolean exist = false;
|
|
@@ -1536,7 +1575,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
|
|
|
//上传
|
|
|
String flvFileName = fileName.replace("mp4", "flv");
|
|
|
- uploadToOssUtil.upload(localFilePath, userEditPath + fileName);
|
|
|
+// uploadToOssUtil.upload(localFilePath, userEditPath + fileName);
|
|
|
uploadToOssUtil.upload(localFilePath.replace("mp4", "flv"), userEditPath+flvFileName);
|
|
|
}
|
|
|
|