|
@@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSONObject;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.fdkankan.common.constant.CommonStatus;
|
|
import com.fdkankan.common.constant.CommonStatus;
|
|
import com.fdkankan.common.constant.ErrorCode;
|
|
import com.fdkankan.common.constant.ErrorCode;
|
|
|
|
+import com.fdkankan.common.constant.FileBizType;
|
|
import com.fdkankan.common.exception.BusinessException;
|
|
import com.fdkankan.common.exception.BusinessException;
|
|
import com.fdkankan.common.util.FileUtils;
|
|
import com.fdkankan.common.util.FileUtils;
|
|
import com.fdkankan.fyun.face.FYunFileServiceInterface;
|
|
import com.fdkankan.fyun.face.FYunFileServiceInterface;
|
|
@@ -25,6 +26,7 @@ import com.fdkankan.scene.entity.ScenePlusExt;
|
|
import com.fdkankan.scene.service.*;
|
|
import com.fdkankan.scene.service.*;
|
|
import com.fdkankan.scene.vo.BaseJsonArrayParamVO;
|
|
import com.fdkankan.scene.vo.BaseJsonArrayParamVO;
|
|
import com.fdkankan.scene.vo.BaseSceneParamVO;
|
|
import com.fdkankan.scene.vo.BaseSceneParamVO;
|
|
|
|
+import com.fdkankan.scene.vo.DeleteFileParamVO;
|
|
import com.fdkankan.scene.vo.DeleteSidListParamVO;
|
|
import com.fdkankan.scene.vo.DeleteSidListParamVO;
|
|
import com.fdkankan.web.response.ResultData;
|
|
import com.fdkankan.web.response.ResultData;
|
|
import com.google.j2objc.annotations.AutoreleasePool;
|
|
import com.google.j2objc.annotations.AutoreleasePool;
|
|
@@ -54,6 +56,8 @@ public class CutModelServiceImpl implements ICutModelService {
|
|
private RedisLockUtil redisLockUtil;
|
|
private RedisLockUtil redisLockUtil;
|
|
@Autowired
|
|
@Autowired
|
|
private FYunFileServiceInterface fYunFileService;
|
|
private FYunFileServiceInterface fYunFileService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ISceneUploadService sceneUploadService;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -111,11 +115,30 @@ public class CutModelServiceImpl implements ICutModelService {
|
|
this.syncFileToRedis(param.getNum());
|
|
this.syncFileToRedis(param.getNum());
|
|
|
|
|
|
//处理删除状态数据
|
|
//处理删除状态数据
|
|
- this.deleteCutModel(param.getNum(), deleteSidList, bucket);
|
|
|
|
|
|
+ List<String> deleteList = this.deleteCutModel(param.getNum(), deleteSidList, bucket);
|
|
|
|
|
|
//写入本地文件,作为备份
|
|
//写入本地文件,作为备份
|
|
this.writeFile(param.getNum());
|
|
this.writeFile(param.getNum());
|
|
|
|
|
|
|
|
+ //删除oss文件
|
|
|
|
+ List<String> deleteFileList = new ArrayList<>();
|
|
|
|
+ deleteList.stream().forEach(str -> {
|
|
|
|
+ JSONObject parse = JSON.parseObject(str);
|
|
|
|
+ String playUrl = parse.getString("playUrl");
|
|
|
|
+ if(StrUtil.isNotEmpty(playUrl) && playUrl.length() > 1){
|
|
|
|
+ deleteFileList.add(playUrl);
|
|
|
|
+ }
|
|
|
|
+ String poster = parse.getString("poster");
|
|
|
|
+ if(StrUtil.isNotEmpty(poster) && poster.length() > 1){
|
|
|
|
+ deleteFileList.add(poster);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ sceneUploadService.delete(
|
|
|
|
+ DeleteFileParamVO.builder()
|
|
|
|
+ .num(param.getNum())
|
|
|
|
+ .fileNames(deleteFileList)
|
|
|
|
+ .bizType(FileBizType.CUT_MODEL.code()).build());
|
|
|
|
+
|
|
//保存数据库
|
|
//保存数据库
|
|
SceneEditInfoExt sceneEditInfoExt = sceneEditInfoExtService.getByScenePlusId(scenePlus.getId());
|
|
SceneEditInfoExt sceneEditInfoExt = sceneEditInfoExtService.getByScenePlusId(scenePlus.getId());
|
|
this.updateDb(param.getNum(), scenePlus.getId());
|
|
this.updateDb(param.getNum(), scenePlus.getId());
|
|
@@ -136,17 +159,18 @@ public class CutModelServiceImpl implements ICutModelService {
|
|
fYunFileService.uploadFile(bucket, JSON.toJSONString(collect).getBytes(), userEditPath);
|
|
fYunFileService.uploadFile(bucket, JSON.toJSONString(collect).getBytes(), userEditPath);
|
|
}
|
|
}
|
|
|
|
|
|
- private void deleteCutModel(String num, List<String> deleteSidList, String bucket) throws Exception {
|
|
|
|
|
|
+ private List<String> deleteCutModel(String num, List<String> deleteSidList, String bucket) throws Exception {
|
|
if(CollUtil.isEmpty(deleteSidList)){
|
|
if(CollUtil.isEmpty(deleteSidList)){
|
|
- return;
|
|
|
|
|
|
+ return null;
|
|
}
|
|
}
|
|
|
|
|
|
//从redis中加载热点数据
|
|
//从redis中加载热点数据
|
|
String key = String.format(RedisKey.SCENE_CUT_MODEL, num);
|
|
String key = String.format(RedisKey.SCENE_CUT_MODEL, num);
|
|
List<String> deletDataList = redisUtil.hMultiGet(key, deleteSidList);
|
|
List<String> deletDataList = redisUtil.hMultiGet(key, deleteSidList);
|
|
- if(CollUtil.isEmpty(deletDataList))
|
|
|
|
- return;
|
|
|
|
- redisUtil.hdel(key, deleteSidList.toArray());
|
|
|
|
|
|
+ if(CollUtil.isNotEmpty(deletDataList)){
|
|
|
|
+ redisUtil.hdel(key, deleteSidList.toArray());
|
|
|
|
+ }
|
|
|
|
+ return deletDataList;
|
|
}
|
|
}
|
|
|
|
|
|
private void updateDb(String num, Long scenePlusId){
|
|
private void updateDb(String num, Long scenePlusId){
|