dengsixing 5 months ago
parent
commit
bbd1d00083

+ 23 - 10
src/main/java/com/fdkankan/scene/service/impl/SceneProServiceImpl.java

@@ -607,6 +607,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         }
         }
         //删除图片音频视频等资源文件
         //删除图片音频视频等资源文件
         List<String> deleteFileList = new ArrayList<>();
         List<String> deleteFileList = new ArrayList<>();
+        List<String> deleteKeys = new ArrayList<>();
         for (String data : hotdataList) {
         for (String data : hotdataList) {
             if(StrUtil.isBlank(data)){
             if(StrUtil.isBlank(data)){
                 continue;
                 continue;
@@ -630,10 +631,17 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
                 JSONArray media = jsonObject.getJSONArray("media");
                 JSONArray media = jsonObject.getJSONArray("media");
                 media.stream().forEach(v->{
                 media.stream().forEach(v->{
                     JSONObject o = (JSONObject) v;
                     JSONObject o = (JSONObject) v;
-                    String src = o.getString("src");
-                    if(StrUtil.isNotEmpty(src)){
-                        deleteFileList.add(src);
+                    String fileSid = o.getString("sid");
+                    if(o.containsKey("tileSize")){//4.14.0版本,图片类型热点不调用通用上传接口上传,改为切图接口上传,所以这里直接删除整个文件目录
+                        String ossPath = String.format(UploadFilePath.USER_EDIT_PATH, num) + "hotspot/" + fileSid + "/";
+                        deleteKeys.add(ossPath);
+                    }else{
+                        String src = o.getString("src");
+                        if(StrUtil.isNotEmpty(src)){
+                            deleteFileList.add(src);
+                        }
                     }
                     }
+
                 });
                 });
             }
             }
 
 
@@ -651,14 +659,19 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             }
             }
         }
         }
 
 
-        if(CollUtil.isEmpty(deleteFileList)){
-            return;
+        if(CollUtil.isNotEmpty(deleteFileList)){
+            sceneUploadService.delete(
+                    DeleteFileParamVO.builder()
+                            .num(num)
+                            .fileNames(deleteFileList)
+                            .bizType("tag-media").build());
         }
         }
-        sceneUploadService.delete(
-                DeleteFileParamVO.builder()
-                        .num(num)
-                        .fileNames(deleteFileList)
-                        .bizType("tag-media").build());
+        if(CollUtil.isNotEmpty(deleteKeys)){
+            deleteKeys.stream().forEach(key->{
+                fYunFileService.deleteFolder(key);
+            });
+        }
+
     }
     }
 
 
     @Override
     @Override