소스 검색

分桶改造

dsx 2 년 전
부모
커밋
66e603e921
22개의 변경된 파일1310개의 추가작업 그리고 1414개의 파일을 삭제
  1. 3 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/entity/ScenePlusExt.java
  2. 6 6
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/handler/FloorPlanHandler.java
  3. 2 2
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneEditInfoService.java
  4. 2 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/IScenePlusService.java
  5. 0 178
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/Scene3dfamilyServiceImpl.java
  6. 886 886
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneAppServiceImpl.java
  7. 71 92
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java
  8. 6 5
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneEditServiceImpl.java
  9. 6 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/ScenePlusServiceImpl.java
  10. 22 24
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneProAppServiceImpl.java
  11. 50 45
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneProServiceImpl.java
  12. 7 7
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneServiceImpl.java
  13. 14 7
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneUploadServiceImpl.java
  14. 2 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/SceneInfoVO.java
  15. 6 5
      4dkankan-task/pom.xml
  16. 13 0
      4dkankan-task/src/main/java/com/fdkankan/task/constant/TaskConstant.java
  17. 3 0
      4dkankan-task/src/main/java/com/fdkankan/task/entity/ScenePlusExt.java
  18. 37 0
      4dkankan-task/src/main/java/com/fdkankan/task/listener/MqListener.java
  19. 2 154
      4dkankan-task/src/main/java/com/fdkankan/task/schedule/ScheduleJob.java
  20. 4 0
      4dkankan-task/src/main/java/com/fdkankan/task/service/IScenePlusService.java
  21. 165 0
      4dkankan-task/src/main/java/com/fdkankan/task/service/impl/ScenePlusServiceImpl.java
  22. 3 3
      4dkankan-task/src/main/resources/bootstrap.yml

+ 3 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/entity/ScenePlusExt.java

@@ -124,6 +124,9 @@ public class ScenePlusExt implements Serializable {
     @TableField("scene_kind")
     private String sceneKind;
 
+    @TableField("yun_file_bucket")
+    private String yunFileBucket;
+
     /**
      * 计算耗时
      */

+ 6 - 6
4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/handler/FloorPlanHandler.java

@@ -63,6 +63,8 @@ public class FloorPlanHandler implements ISaveUploadHandler {
         ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
         if(Objects.isNull(scenePlus))
             throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
+        ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
+        String bucket = scenePlusExt.getYunFileBucket();
         JSONObject fileInfoJson = JSON.parseObject(fileInfo);
         //户型图文件路径
         String cadInfo = fileInfoJson.getString("cadInfo");
@@ -102,24 +104,22 @@ public class FloorPlanHandler implements ISaveUploadHandler {
 
         if(StrUtil.isEmpty(floorJsonData)){
 //            SceneProExt sceneProExt = sceneProExtService.findBySceneProId(scenePro.getId());
-            ScenePlusExt scenePlusExt= scenePlusExtService
-                .getScenePlusExtByPlusId(scenePlus.getId());
             // TODO: 2022/1/27 老版本数据目录挂在nas,新版本目前流程尚不清楚,先暂时按照老版本写,以后再调整
             FileUtils.copyFile(scenePlusExt.getDataSource() + "/results/floor.json", localDataPath + "houst_floor.json", true);
-            uploadToOssUtil.upload(localDataPath + "houst_floor.json", dataPath + "houst_floor.json");
+            uploadToOssUtil.upload(bucket, localDataPath + "houst_floor.json", dataPath + "houst_floor.json");
 
             // TODO: 2022/1/27 老版本上传目录 待删除
-            uploadToOssUtil.upload(localDataPath + "houst_floor.json", oldDataPath + "houst_floor.json");
+            uploadToOssUtil.upload(bucket, localDataPath + "houst_floor.json", oldDataPath + "houst_floor.json");
 
             String result = FileUtils.readFile(localDataPath + "houst_floor.json");
             return ResultData.ok(result);
         }
 
         FileUtils.writeFile(localDataPath + "houst_floor.json", floorJsonData);
-        uploadToOssUtil.upload(localDataPath + "houst_floor.json", dataPath + "houst_floor.json");
+        uploadToOssUtil.upload(bucket, localDataPath + "houst_floor.json", dataPath + "houst_floor.json");
 
         // TODO: 2022/1/27 老版本上传目录 待删除
-        uploadToOssUtil.upload(localDataPath + "houst_floor.json", oldDataPath + "houst_floor.json");
+        uploadToOssUtil.upload(bucket, localDataPath + "houst_floor.json", oldDataPath + "houst_floor.json");
 
         return ResultData.ok();
     }

+ 2 - 2
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneEditInfoService.java

@@ -58,7 +58,7 @@ public interface ISceneEditInfoService extends IService<SceneEditInfo> {
 
     void upgradeVersionAndImgVersionById(Long id);
 
-    void upgradeSceneJsonVersion(String num, int version, Integer imgVersion) throws IOException ;
+    void upgradeSceneJsonVersion(String bucket, String num, int version, Integer imgVersion) throws IOException ;
 
     ResultData uploadPanorama(String num, MultipartFile file) throws Exception;
 
@@ -78,7 +78,7 @@ public interface ISceneEditInfoService extends IService<SceneEditInfo> {
 
     ResultData uploadBallScreenVideo(String num,String fileName,MultipartFile file) throws Exception;
 
-    void upgradeVersionToSceneJson(String num) throws Exception;
+    void upgradeVersionToSceneJson(String bucket, String num) throws Exception;
 
     ResultData sceneSync(String num, String type, String floorPlanJson, String ajkJson, String cameraJson, MultipartFile[] files) throws Exception;
 

+ 2 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/IScenePlusService.java

@@ -27,6 +27,8 @@ public interface IScenePlusService extends IService<ScenePlus> {
 
     ResultData moveScene(List<String> numList, Long cameraId, Long userId);
 
+    String getBucket(String num);
+
 
 
 

+ 0 - 178
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/Scene3dfamilyServiceImpl.java

@@ -1,178 +0,0 @@
-package com.fdkankan.scene.service.impl;
-
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fdkankan.common.constant.RecStatus;
-import com.fdkankan.common.constant.TbStatus;
-import com.fdkankan.common.constant.ZipStatus;
-import com.fdkankan.common.util.CreateObjUtil;
-import com.fdkankan.common.util.FileUtils;
-import com.fdkankan.fyun.oss.UploadToOssUtil;
-import com.fdkankan.scene.entity.Scene3dfamily;
-import com.fdkankan.scene.mapper.IScene3dfamilyMapper;
-import com.fdkankan.scene.service.IScene3dfamilyService;
-import com.fdkankan.scene.service.ISceneProService;
-import com.fdkankan.scene.vo.Scene3dfamilyVO;
-import com.fdkankan.scene.vo.SceneEditParamVO;
-import com.fdkankan.scene.vo.SceneProVO;
-import com.fdkankan.scene.vo.SceneVO;
-import com.fdkankan.common.constant.ErrorCode;
-import com.fdkankan.common.exception.BusinessException;
-import com.fdkankan.common.response.ResultData;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-
-import java.io.File;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Objects;
-
-/**
- * <p>
- * 三维家表 服务实现类
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
-@Slf4j
-@Service
-public class Scene3dfamilyServiceImpl extends ServiceImpl<IScene3dfamilyMapper, Scene3dfamily> implements IScene3dfamilyService {
-
-    private static String DIR_NAME = "downloads/furnished/";
-
-    @Value("${oss.prefix.ali}")
-    private String prefixAli;
-
-    @Autowired
-    ISceneProService sceneProService;
-    @Autowired
-    @Qualifier("uploadToOssUtil")
-    UploadToOssUtil uploadToOssUtil;
-    @Value("${oss.bucket}")
-    private String bucket;
-
-
-    @Override
-    public ResultData createZip(SceneProVO sceneProVo) {
-        Scene3dfamily scene3dfamily =
-                baseMapper.findSceneCodeByCode(
-                        Scene3dfamilyVO
-                            .builder()
-                            .num(sceneProVo.getNum())
-                            .zipStatus(ZipStatus.DOING.code())
-                            .build());
-        String path = sceneProVo.getDataSource() + "_3df" + File.separator + sceneProVo.getNum();
-        try {
-            if(scene3dfamily == null){
-                throw new BusinessException(ErrorCode.FAILURE_CODE_5032);
-            }
-
-            log.info("三维家 信息保存 路径 : " + path);
-            //创建文件夹
-            FileUtils.createDir(path);
-
-            //生成vision.json
-            sceneProService.downloadVisionData(SceneEditParamVO.builder().num(sceneProVo.getNum()).build());
-            //拉取data
-            CreateObjUtil.ossUtilCp(bucket, "data" + File.separator + "data" + sceneProVo.getNum()  + File.separator,
-                    path + File.separator + "scene" + File.separator + "data" + File.separator + "data" + sceneProVo.getNum());
-
-
-            //写入 scene.json 改名为 getinfo.json
-            SceneVO sceneVo = sceneProService.getInfo(sceneProVo.getNum());
-
-            JSONObject dataJson = (JSONObject) JSONObject.toJSON(sceneVo);
-
-            FileUtils.writeFile(path + File.separator + "scene"  + File.separator + "data" +  File.separator  + "data"
-                    + sceneProVo.getNum() + File.separator + "getinfo.json", dataJson.toString());
-
-            //拉取images
-            CreateObjUtil.ossUtilCp(bucket, "images" + File.separator + "images" + sceneProVo.getNum()  + File.separator + "floorLogoImg.png",
-                    path + File.separator + "scene"  + File.separator + "images" + File.separator + "images" + sceneProVo.getNum());
-            CreateObjUtil.ossUtilCp(bucket, "images" + File.separator + "images" + sceneProVo.getNum()  + File.separator + "floorplan.png",
-                    path + File.separator + "scene"  + File.separator + "images" + File.separator + "images" + sceneProVo.getNum());
-            CreateObjUtil.ossUtilCp(bucket, "images" + File.separator + "images" + sceneProVo.getNum()  + File.separator + "logo-main.png",
-                    path + File.separator + "scene"  + File.separator + "images" + File.separator + "images" + sceneProVo.getNum());
-            CreateObjUtil.ossUtilCp(bucket, "images" + File.separator + "images" + sceneProVo.getNum()  + File.separator + "logo-main-en.png",
-                    path + File.separator + "scene"  + File.separator + "images" + File.separator + "images" + sceneProVo.getNum());
-            CreateObjUtil.ossUtilCp(bucket, "images" + File.separator + "images" + sceneProVo.getNum()  + File.separator + "smallPic.jpg",
-                    path + File.separator + "scene"  + File.separator + "images" + File.separator + "images" + sceneProVo.getNum());
-            CreateObjUtil.ossUtilCp(bucket, "images" + File.separator + "images" + sceneProVo.getNum()  + File.separator + "thumbBigImg.jpg",
-                    path + File.separator + "scene"  + File.separator + "images" + File.separator + "images" + sceneProVo.getNum());
-            CreateObjUtil.ossUtilCp(bucket, "images" + File.separator + "images" + sceneProVo.getNum()  + File.separator + "thumbSmallImg.jpg",
-                    path + File.separator + "scene"  + File.separator + "images" + File.separator + "images" + sceneProVo.getNum());
-            CreateObjUtil.ossUtilCp(bucket, "images" + File.separator + "images" + sceneProVo.getNum()  + File.separator + "pan",
-                    path + File.separator + "scene"  + File.separator + "images" + File.separator + "images" + sceneProVo.getNum());
-
-            //拉取video
-            CreateObjUtil.ossUtilCp(bucket, "video" + File.separator + "video" + sceneProVo.getNum()  + File.separator,
-                    path + File.separator + "scene"  + File.separator + "video" + File.separator + "video" + sceneProVo.getNum());
-
-            //拉取voice
-            CreateObjUtil.ossUtilCp(bucket, "voice" + File.separator + "voice" + sceneProVo.getNum()  + File.separator,
-                    path + File.separator + "scene"  + File.separator + "voice" + File.separator + "voice" + sceneProVo.getNum());
-
-            //压缩zip
-            FileUtils.zipFile(path + ".zip", path);
-            log.info("三维家 zip完成 : " + path);
-
-            //上传oss
-            // 上传到阿里云sso
-            uploadToOssUtil.upload(path + ".zip", DIR_NAME + sceneProVo.getNum() + ".zip");
-            log.info("upload success");
-
-            String url = prefixAli + DIR_NAME + sceneProVo.getNum() + ".zip";
-
-            log.info("upload url: {}" + url);
-
-            scene3dfamily.setZipLink(url);
-            scene3dfamily.setZipStatus(ZipStatus.SUCCESS.code());
-            scene3dfamily.setZipEndTime(new Date());
-            scene3dfamily.setUpdateTime(new Date());
-            baseMapper.updateById(scene3dfamily);
-        }catch (Exception e){
-            scene3dfamily.setZipStatus(ZipStatus.FAILD.code());
-            scene3dfamily.setZipEndTime(new Date());
-            scene3dfamily.setUpdateTime(new Date());
-            baseMapper.updateById(scene3dfamily);
-            log.error("场景打包失败", e);
-        }finally {
-            FileUtils.deleteDirectory(path);
-            FileUtils.deleteDirectory(path + ".zip");
-        }
-
-        return ResultData.ok();
-    }
-
-    @Override
-    public Scene3dfamily findSceneNumByNum(Scene3dfamilyVO scene3dfamilyVO) {
-        return baseMapper.findSceneCodeByCode(scene3dfamilyVO);
-    }
-
-    @Override
-    public Map<String, String> findSceneNumByNum2(Scene3dfamilyVO scene3dfamilyVO) {
-        Map<String, String> result = new HashMap<>();
-        result.put("url","");
-        result.put("status",ZipStatus.OTHER.code().toString());
-        Scene3dfamily scene3dfamily = baseMapper.findSceneCodeByCode(scene3dfamilyVO);
-        if(Objects.nonNull(scene3dfamily)){
-            result.put("url",scene3dfamily.getZipLink() == null ?"":scene3dfamily.getZipLink());
-            result.put("status",scene3dfamily.getZipStatus().toString());
-        }
-        //验证是否在打包
-        return result;
-    }
-
-    @Override
-    public void updateSceneNumByNum(Scene3dfamily scene3dfamily) {
-        this.update(new LambdaUpdateWrapper<Scene3dfamily>()
-                .eq(Scene3dfamily::getNum, scene3dfamily.getNum())
-                .set(Scene3dfamily::getTbStatus, TbStatus.DELETE.code()));
-    }
-}

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 886 - 886
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneAppServiceImpl.java


+ 71 - 92
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java

@@ -141,8 +141,6 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
     private String ossUrlPrefix;
     @Value("${upload.type}")
     private String type;
-    @Value("${oss.bucket}")
-    private String bucket;
     @Value("${oss.orig-bucket}")
     private String origBucket;
     @Value("${main.url}")
@@ -266,6 +264,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
 //        ScenePro scenePro = sceneProService.findBySceneNum(num);
         ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
         ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
+        String bucket = scenePlusExt.getYunFileBucket();
         SceneEditInfo sceneEditInfo = this.getByScenePlusId(scenePlus.getId());
         SceneEditInfoExt sceneEditInfoExt = null;
         SceneEditControls sceneEditControls = null;
@@ -302,17 +301,17 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         sceneJson.setMosaicList(this.getMosaicList(num));
 
         //处理热点数据,生成hot.json
-        this.publicHotData(num, sceneEditInfo);
+        this.publicHotData(bucket, num, sceneEditInfo);
 
         //发布场景关联相关数据
-        this.publicLinkSceneData(num);
+        this.publicLinkSceneData(bucket, num);
 
         //本地写sceneJson文件
         String localSceneJsonPath = String.format(ConstantFilePath.SCENE_DATA_PATH_V4, num) + "scene.json";
         FileUtils.writeFile(localSceneJsonPath, JSON.toJSONString(sceneJson));
         //上传sceneJson文件
         String sceneJsonPath = String.format(UploadFilePath.DATA_VIEW_PATH+"scene.json", num);
-        uploadToOssUtil.upload(JSON.toJSONBytes(sceneJson), sceneJsonPath);
+        uploadToOssUtil.upload(bucket, JSON.toJSONBytes(sceneJson), sceneJsonPath);
 
         //sceneJson放入缓存
         String key = String.format(RedisKey.SCENE_JSON, num);
@@ -320,13 +319,13 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
 
         //删除发布数据中的user目录
         String publicUserPath = String.format(UploadFilePath.USER_VIEW_PATH, num);
-        uploadToOssUtil.deleteFile(publicUserPath);
+        uploadToOssUtil.deleteFile(bucket, publicUserPath);
 
 //        String editUserPath = String.format(UploadFilePath.USER_EDIT_PATH, sceneNum);
         //复制编辑目录到发布目录
         String editPath = String.format(UploadFilePath.USER_EDIT_PATH, param.getNum());
         String viewPath = String.format(UploadFilePath.USER_VIEW_PATH, param.getNum());
-        uploadToOssUtil.copyFiles(editPath,viewPath);
+        uploadToOssUtil.copyFiles(bucket, editPath,viewPath);
 
         //入库
         if(sceneEditInfo.getId() == null){
@@ -355,7 +354,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         return ResultData.ok();
     }
 
-    public void publicLinkSceneData(String num) throws IOException {
+    public void publicLinkSceneData(String bucket, String num) throws IOException {
 
         String imgEditPath = String.format(UploadFilePath.IMG_EDIT_PATH, num);
         String userEditPath = String.format(UploadFilePath.USER_EDIT_PATH, num);
@@ -372,53 +371,15 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             linkPanArr.add(JSON.parseObject(linkPan));
         });
         String linkScenePath = userEditPath + "links.json";
-        uploadToOssUtil.upload(linkPanArr.toString().getBytes(), linkScenePath);
+        uploadToOssUtil.upload(bucket, linkPanArr.toString().getBytes(), linkScenePath);
 
         //拷贝编辑目录到发布目录
-        uploadToOssUtil.deleteFile(imgViewPath + "panorama");
-        uploadToOssUtil.copyFiles(imgEditPath + "panorama",imgViewPath + "panorama");
+        uploadToOssUtil.deleteFile(bucket,imgViewPath + "panorama");
+        uploadToOssUtil.copyFiles(bucket,imgEditPath + "panorama",imgViewPath + "panorama");
 
     }
 
-    private void buildVideo(SceneEditInfo sceneEditInfo, String path, String num) throws Exception{
-        if(CommonStatus.NO.equals(sceneEditInfo.getBuildVideoStatus())){
-            return;
-        }
-        if(path != null && !"".equals(path) && path.startsWith("http")){
-            path = ConstantFilePath.BUILD_MODEL_PATH + File.separator + path.split("/")[path.split("/").length - 2];
-        }
-
-        String target = path + "_images";
-
-        log.info("球幕视频路径:{}", target + File.separator + "extras/video");
-        File video = new File(target + File.separator + "extras/video");
-        //如果文件夹或者文件不存在,跳出
-        if(!video.exists() || video.listFiles() == null || video.listFiles().length == 0){
-            return;
-        }
-
-        String userEditPath = String.format(UploadFilePath.USER_EDIT_PATH, num);
-        for(String videoName : video.list()){
-            log.info("球幕视频名称:{}", videoName);
-            uploadToOssUtil.upload(target + File.separator + "extras/video/" + videoName,userEditPath + videoName);
-
-            CreateObjUtil.mp4ToFlv(target + File.separator + "extras/video/" + videoName,
-                target + File.separator + "extras/video/" + videoName.replace("mp4", "flv"));
-
-            uploadToOssUtil.upload(target + File.separator + "extras/video/" + videoName.replace("mp4", "flv"),userEditPath + videoName.replace("mp4", "flv"));
-
-            //覆盖原始视频资源
-            FileUtils.copyFile(target + File.separator + "extras/video/" + videoName,
-                path + File.separator + "caches/videos/" + videoName, true);
-
-        }
-        FileUtils.deleteDirectory(target + File.separator + "extras/video/");
-
-        //重置状态
-        sceneEditInfo.setBuildVideoStatus(CommonStatus.NO.code());
-    }
-
-    private void publicHotData(String sceneNum, SceneEditInfo sceneEditInfo) throws IOException {
+    private void publicHotData(String bucket, String sceneNum, SceneEditInfo sceneEditInfo) throws IOException {
         String hotDataKey = String.format(RedisKey.SCENE_HOT_DATA, sceneNum);
         Map<String, String> hotMap = redisUtil.hmget(hotDataKey);
         List<String> hotList = Lists.newArrayList();
@@ -433,7 +394,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
                 jsonhots.add(JSONObject.parseObject(hot));
             });
             String hotJsonPath = String.format(UploadFilePath.USER_EDIT_PATH, sceneNum) + "hot.json";
-            uploadToOssUtil.upload(jsonhots.toString().getBytes(), hotJsonPath);
+            uploadToOssUtil.upload(bucket, jsonhots.toString().getBytes(), hotJsonPath);
 
             //修改tags状态为是,标识有热点数据
             this.saveTagsToSceneEditInfo(sceneNum, sceneEditInfo);
@@ -500,6 +461,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         sceneInfoVO.setSceneKind(scenePlusExt.getSceneKind());
         sceneInfoVO.setVideos(scenePlusExt.getVideos());
         sceneInfoVO.setMosaicList(this.getMosaicList(num));
+        sceneInfoVO.setBucket(scenePlusExt.getYunFileBucket());
 
         // TODO: 2022/4/24 v3版本停机要切换---------------------------start
 //        this.setExtData(sceneInfoVO, scenePlus.getCameraId());
@@ -563,6 +525,8 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         if(Objects.isNull(scenePlus)){
             throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
         }
+        ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
+        String bucket = scenePlusExt.getYunFileBucket();
 
         String key = String.format(RedisKey.SCENE_JSON, num);
         String sceneJson = redisUtil.get(key);
@@ -581,6 +545,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             if(Objects.isNull(sceneInfoVO.getFloorPlanCompass())){
                 sceneInfoVO.setFloorPlanCompass(0f);
             }
+            sceneInfoVO.setBucket(scenePlusService.getBucket(num));
             return sceneInfoVO;
         }
 
@@ -602,6 +567,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         }
         redisUtil.set(key, JSON.toJSONString(sceneInfoVO));
         sceneInfoVO.setScenePassword(null);
+        sceneInfoVO.setBucket(scenePlusService.getBucket(num));
 
         return sceneInfoVO;
     }
@@ -637,6 +603,8 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
         if(Objects.isNull(scenePlus))
             throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
+        ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
+        String bucket = scenePlusExt.getYunFileBucket();
 
         String editUserPath = String.format(UploadFilePath.USER_EDIT_PATH, num);
         String localDataPath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num);
@@ -654,15 +622,14 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         //处理户型图数据
         //上传floorplan_user.json文件
         FileUtils.writeFile(localDataPath + "floorplan_user.json", floorJsonData);
-        uploadToOssUtil.upload(localDataPath + "floorplan_user.json", editUserPath + "floorplan_user.json");
+        uploadToOssUtil.upload(bucket, localDataPath + "floorplan_user.json", editUserPath + "floorplan_user.json");
 
         //写入数据库
         Byte floorPlanUser = null;
         if(StrUtil.isNotEmpty(floorJsonData)){
             // TODO: 2022/7/26 生成hostType
-            JSONObject houseTypeJson = CreateHouseJsonUtil
-                .createHouseTypeJsonByUser(localDataPath + "floorplan_user.json");
-            uploadToOssUtil.upload(houseTypeJson.toJSONString().getBytes(), editUserPath + "houseType.json");
+            JSONObject houseTypeJson = CreateHouseJsonUtil.createHouseTypeJsonByUser(localDataPath + "floorplan_user.json");
+            uploadToOssUtil.upload(bucket, houseTypeJson.toJSONString().getBytes(), editUserPath + "houseType.json");
 
             floorPlanUser = CommonStatus.YES.code();
         }
@@ -709,6 +676,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         ScenePlusExt scenePlusExt = scenePlusExtService
             .getScenePlusExtByPlusId(scenePlus.getId());
         String path = scenePlusExt.getDataSource();
+        String bucket = scenePlusExt.getYunFileBucket();
 
         //户型图上传
         String  userEditPath = UploadFilePath.USER_EDIT_PATH + "floor-cad-%s.%s";
@@ -719,12 +687,12 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
                 String substring = str.substring(str.lastIndexOf(File.separator) + 1);
                 String[] arr = substring.split("floor");
                 String[] arr2 = arr[1].split("\\.");
-                uploadToOssUtil.upload(str, String.format(userEditPath, num, arr2[0], arr2[1]));
+                uploadToOssUtil.upload(bucket, str, String.format(userEditPath, num, arr2[0], arr2[1]));
             });
         }
 
         //根据floorplan_cad.json生成houseType.json
-        this.uploadHouseTypeJson(num);
+        this.uploadHouseTypeJson(bucket, num);
 
         SceneEditInfo sceneEditInfoDb = this.getByScenePlusId(scenePlus.getId());
         SceneEditInfoExt sceneEditInfoExt = null;
@@ -755,14 +723,14 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
 
     }
 
-    private void uploadHouseTypeJson(String num) throws IOException {
+    private void uploadHouseTypeJson(String bucket, String num) throws IOException {
 
         JSONObject result = new JSONObject();
         result.put("name", "houseType.json");
         result.put("version", "2.1");
 
         String floorplanCadPath = String.format(UploadFilePath.DATA_VIEW_PATH, num) + "floorplan_cad.json";
-        String floorcadStr = uploadToOssUtil.getObjectContent(this.bucket, floorplanCadPath);
+        String floorcadStr = uploadToOssUtil.getObjectContent(bucket, floorplanCadPath);
 
         JSONObject floorcadObj = JSON.parseObject(floorcadStr);
         JSONArray floors = floorcadObj.getJSONArray("floors");
@@ -781,7 +749,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         }
 
         String hourseTypeJsonPath = String.format(UploadFilePath.USER_EDIT_PATH, num) + "houseType.json";
-        uploadToOssUtil.upload(result.toJSONString().getBytes(), hourseTypeJsonPath);
+        uploadToOssUtil.upload(bucket, result.toJSONString().getBytes(), hourseTypeJsonPath);
     }
 
     private JSONArray[] createHouseTypeJsonHandler(JSONObject floor){
@@ -864,8 +832,10 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
     @Override
     public ResultData renameCad(RenameCadParamVO param) throws IOException {
 
+        String bucket = scenePlusService.getBucket(param.getNum());
+
         String key = String.format(UploadFilePath.DATA_VIEW_PATH, param.getNum()) + "floorplan_cad.json";
-        String floorplanCadJson = uploadToOssUtil.getObjectContent(this.bucket, key);
+        String floorplanCadJson = uploadToOssUtil.getObjectContent(bucket, key);
         if(StrUtil.isEmpty(floorplanCadJson)){
             return ResultData.ok();
         }
@@ -890,7 +860,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             }
             item.put("name", name);
         }
-        uploadToOssUtil.upload(jsonObject.toJSONString().getBytes(), key);
+        uploadToOssUtil.upload(bucket, jsonObject.toJSONString().getBytes(), key);
         return ResultData.ok();
     }
 
@@ -930,7 +900,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
     }
 
     @Override
-    public void upgradeSceneJsonVersion(String num, int version, Integer imgVersion) throws IOException {
+    public void upgradeSceneJsonVersion(String bucket, String num, int version, Integer imgVersion) throws IOException {
 
         //更新redis缓存版本号
         String key = String.format(RedisKey.SCENE_JSON, num);
@@ -946,14 +916,14 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
 
         //更新oss scene.json版本号
         String sceneJsonPath = String.format(UploadFilePath.DATA_VIEW_PATH, num) + "scene.json";
-        sceneJson= uploadToOssUtil.getObjectContent(this.bucket, sceneJsonPath);
+        sceneJson= uploadToOssUtil.getObjectContent(bucket, sceneJsonPath);
         if(StrUtil.isNotEmpty(sceneJson)){
             SceneJsonBean sceneJsonBean = JSON.parseObject(sceneJson, SceneJsonBean.class);
             sceneJsonBean.setVersion(version);
             if(Objects.nonNull(imgVersion)){
                 sceneJsonBean.setImgVersion(imgVersion + 1);
             }
-            uploadToOssUtil.upload(JSON.toJSONString(sceneJsonBean).getBytes(StandardCharsets.UTF_8), sceneJsonPath);
+            uploadToOssUtil.upload(bucket, JSON.toJSONString(sceneJsonBean).getBytes(StandardCharsets.UTF_8), sceneJsonPath);
         }
 
     }
@@ -976,8 +946,8 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
         }
 //        SceneProExt sceneProExt = sceneProExtService.findBySceneProId(scenePro.getId());
-        ScenePlusExt scenePlusExt = scenePlusExtService
-            .getScenePlusExtByPlusId(scenePlus.getId());
+        ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
+        String bucket = scenePlusExt.getYunFileBucket();
 
         //原始计算根目录
 //      String path = "F:\\test";
@@ -1076,7 +1046,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
 //        });
 
         String imgViewPath = String.format(UploadFilePath.IMG_VIEW_PATH, num);
-        FileUtils.downLoadFromUrl(ossUrlPrefix + imgViewPath + "vision.modeldata" + "?m="+new Date().getTime(),
+        FileUtils.downLoadFromUrl(ossUrlPrefix + bucket + "/" + imgViewPath + "vision.modeldata" + "?m="+new Date().getTime(),
             "vision.modeldata", target + File.separator + "extras" + File.separator);
         CreateObjUtil.convertVisionmodeldataToTxt(target + File.separator + "extras" + File.separator + "vision.modeldata",
             target + File.separator + "extras" + File.separator + "vision.txt");
@@ -1120,7 +1090,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             //亚马逊保持旧方式,超链接capture
             CreateObjUtil.createSoftConnection(path + File.separator + "capture", target + File.separator + "capture");
         }
-        CreateObjUtil.ossUtilCp(origBucket,ConstantFilePath.OSS_PREFIX + path.replace(ConstantFilePath.BUILD_MODEL_PATH, "") + "/data.fdage", target + File.separator + "capture/");
+        CreateObjUtil.ossUtilCp(bucket,ConstantFilePath.OSS_PREFIX + path.replace(ConstantFilePath.BUILD_MODEL_PATH, "") + "/data.fdage", target + File.separator + "capture/");
         CreateObjUtil.build3dModel(target , "1");
 
         String uploadJsonPath= target + File.separator + "results" +File.separator+"upload.json";
@@ -1179,7 +1149,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             }
         }
         if(map.size()>0) {
-            uploadToOssUtil.uploadMulFiles(map);
+            uploadToOssUtil.uploadMulFiles(bucket, map);
         }
 
         //拷贝修改后的全景图到缓存目录
@@ -1192,7 +1162,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         SceneEditInfo sceneEditInfo = this.getByScenePlusId(scenePlus.getId());
         this.upgradeVersionAndImgVersionById(sceneEditInfo.getId());
         //更新scenejson缓存和oss文件版本号
-        this.upgradeSceneJsonVersion(num, sceneEditInfo.getVersion() + 1, sceneEditInfo.getImgVersion() + 1);
+        this.upgradeSceneJsonVersion(bucket, num, sceneEditInfo.getVersion() + 1, sceneEditInfo.getImgVersion() + 1);
 
         //如果部分成功,则需要返回成功数量和失败列表
         if(CollUtil.isNotEmpty(notExistFileList)){
@@ -1219,6 +1189,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         }
         ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
         String path = scenePlusExt.getDataSource();
+        String bucket = scenePlusExt.getYunFileBucket();
 
         String cachePath = String.format(ConstantFilePath.SCENE_CACHE, num);
         String imgCachePath = String.format(UploadFilePath.IMG_CACHES_PATH, num);
@@ -1237,8 +1208,8 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             if(!cn.hutool.core.io.FileUtil.exist(localFilePath)){
                 throw new BusinessException(ErrorCode.FAILURE_CODE_5063);
             }
-            uploadToOssUtil.upload(localFilePath, ossFilePath);
-            url = ossUrlPrefix + ossFilePath;
+            uploadToOssUtil.upload(bucket, localFilePath, ossFilePath);
+            url = ossUrlPrefix + bucket + "/" + ossFilePath;
 //                FileUtils.downLoadFromUrl(imageUrl, fileName, localImagesPath);
             downloadName = fileName;
         }else{
@@ -1273,7 +1244,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             //上传压缩包
 //            uploadToOssUtil.upload(zipPath, String.format(cacheFormat, num) + downloadName);
             uploadToOssUtil.uploadFileBySh(bucket, zipPath, String.format(cacheFormat, num) + downloadName);
-            url = ossUrlPrefix + String.format(cacheFormat, num) + downloadName;
+            url = ossUrlPrefix + bucket + "/" + String.format(cacheFormat, num) + downloadName;
             long end2 = Calendar.getInstance().getTimeInMillis();
             log.info("上传耗时:" + (end2 - end1));
             //删除本地压缩包
@@ -1322,11 +1293,13 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         ScenePlus scenePlus = scenePlusService.getScenePlusByNum(param.getNum());
         if(Objects.isNull(scenePlus))
             throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
+        ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
+        String bucket = scenePlusExt.getYunFileBucket();
 
         SceneEditInfo sceneEditInfo = this.getByScenePlusId(scenePlus.getId());
 
         //转换视频格式
-        this.transferToFlv(param.getNum(), param.getFileName());
+        this.transferToFlv(bucket, param.getNum(), param.getFileName());
 
         //生成boxVideos数据
         String boxVideos = this.createBoxVideos(param.getNum(), sid, boxVideo, sceneEditInfo, OperationType.ADDORUPDATE.code());
@@ -1399,8 +1372,9 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
 
     @Override
     public DownloadVO downloadBallScreenVideo(BallScreenVideoParamVO param) {
+        String bucket = scenePlusService.getBucket(param.getNum());
         String videoPath = String.format(UploadFilePath.VIDEOS_VIEW_PATH, param.getNum()) + param.getFileName();
-        String url = ossUrlPrefix + videoPath + "?t=" + System.currentTimeMillis();
+        String url = ossUrlPrefix + bucket + "/" + videoPath + "?t=" + System.currentTimeMillis();
         return DownloadVO.builder()
             .fileName(param.getFileName())
             .url(url)
@@ -1423,6 +1397,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         }
 //        SceneProExt sceneProExt = sceneProExtService.findBySceneProId(scenePro.getId());
         ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
+        String bucket = scenePlusExt.getYunFileBucket();
 
         String path = scenePlusExt.getDataSource();
         //校验文件名
@@ -1468,12 +1443,12 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
 
         for(String videoName : video.list()){
             log.info("球幕视频名称:{}", videoName);
-            uploadToOssUtil.upload(target + File.separator + "extras/video/" + videoName,videosViewPath + videoName);
+            uploadToOssUtil.upload(bucket, target + File.separator + "extras/video/" + videoName,videosViewPath + videoName);
 
             CreateObjUtil.mp4ToFlv(target + File.separator + "extras/video/" + videoName,
                 target + File.separator + "extras/video/" + videoName.replace("mp4", "flv"));
 
-            uploadToOssUtil.upload(target + File.separator + "extras/video/" + videoName.replace("mp4", "flv"),videosViewPath + videoName.replace("mp4", "flv"));
+            uploadToOssUtil.upload(bucket, target + File.separator + "extras/video/" + videoName.replace("mp4", "flv"),videosViewPath + videoName.replace("mp4", "flv"));
 
             //覆盖原始视频资源
             FileUtils.copyFile(target + File.separator + "extras/video/" + videoName,
@@ -1488,19 +1463,19 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         //更新scene.json版本号
 //        this.upgradeVersionToSceneJson(num);
         //更新scenejson缓存和oss文件版本号
-        this.upgradeSceneJsonVersion(num, sceneEditInfo.getVersion() + 1, null);
+        this.upgradeSceneJsonVersion(bucket, num, sceneEditInfo.getVersion() + 1, null);
 
         return ResultData.ok();
     }
 
     @Override
-    public void upgradeVersionToSceneJson(String num) throws Exception{
+    public void upgradeVersionToSceneJson(String bucket, String num) throws Exception{
         String key = String.format(RedisKey.SCENE_JSON, num);
         String objectName = String.format(ConstantFilePath.SCENE_VIEW_DATA_DATA_SCENEJSON, num);
         String objectContent = uploadToOssUtil.getObjectContent(bucket, objectName);
         SceneJsonBean sceneJsonBean = JSON.parseObject(objectContent, SceneJsonBean.class);
         sceneJsonBean.setVersion(sceneJsonBean.getVersion() +1);
-        uploadToOssUtil.upload(JSON.toJSONString(sceneJsonBean).getBytes(), objectName);
+        uploadToOssUtil.upload(bucket, JSON.toJSONString(sceneJsonBean).getBytes(), objectName);
         redisUtil.set(key, JSON.toJSONString(sceneJsonBean));
     }
 
@@ -1522,6 +1497,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             }
 //            SceneProExt sceneProExt = sceneProExtService.findBySceneProId(scenePro.getId());
             ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
+            String bucket = scenePlusExt.getYunFileBucket();
 
             //更新scene.json文件
             String strsceneInfos = FileUtils.readFile(ConstantFilePath.SCENE_PATH + "data" + File.separator + "data" + num + File.separator + "scene.json");
@@ -1647,13 +1623,13 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             }
             String fileMD5 = FileMd5Util.getFileMD5(new File(zipPath));
 
-            uploadToOssUtil.upload(zipPath, "data_download/" + num + ".zip");
+            uploadToOssUtil.upload(null, zipPath, "data_download/" + num + ".zip");
 
             SceneDataDownload sceneDataDownload = sceneDataDownloadService.findBySceneNum(num);
             if(sceneDataDownload == null){
                 sceneDataDownload = new SceneDataDownload();
                 sceneDataDownload.setNum(num);
-                sceneDataDownload.setDownloadPath(ossUrlPrefix + "data_download/" + num + ".zip");
+                sceneDataDownload.setDownloadPath(ossUrlPrefix + bucket + "/" + "data_download/" + num + ".zip");
                 sceneDataDownload.setFileMd5(fileMD5);
                 sceneDataDownloadService.save(sceneDataDownload);
                 return ResultData.ok();
@@ -1674,11 +1650,11 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
 
     @Override
     public ResultData checkKey(SceneCheckKeyParamVO param) throws Exception {
+        String bucket = scenePlusService.getBucket(param.getNum());
         SceneJsonBean sceneJsonBean = null;
         String sceneJson = redisUtil.get(String.format(RedisKey.SCENE_JSON, param.getNum()));
         if(StrUtil.isEmpty(sceneJson)){
-            sceneJson = uploadToOssUtil.getObjectContent(bucket,
-                String.format(UploadFilePath.DATA_VIEW_PATH, param.getNum()) + "scene.json");
+            sceneJson = uploadToOssUtil.getObjectContent(bucket, String.format(UploadFilePath.DATA_VIEW_PATH, param.getNum()) + "scene.json");
         }
         sceneJsonBean = JSON.parseObject(sceneJson, SceneJsonBean.class);
 
@@ -1822,6 +1798,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
         }
         ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
+        String bucket = scenePlusExt.getYunFileBucket();
 
         String localDataPath = String.format(ConstantFilePath.DATABUFFER_FORMAT, num);
         String localImagesPath = String.format(ConstantFilePath.IMAGESBUFFER_FORMAT, num);
@@ -1929,7 +1906,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         //上传全景图
         map.put(filePath, imgEditPath + "panorama/" + sid + "/high/" + fileName);
 
-        uploadToOssUtil.uploadMulFiles(map);
+        uploadToOssUtil.uploadMulFiles(bucket, map);
 
         Map<String, String> result = new HashMap<>();
         result.put("type", type);
@@ -1997,11 +1974,13 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         ScenePlus scenePlus = scenePlusService.getScenePlusByNum(param.getNum());
         if (scenePlus == null)
             return ResultData.error(ErrorCode.FAILURE_CODE_5005);
+        ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
+        String bucket = scenePlusExt.getYunFileBucket();
 
         List<String> deleteSidList = param.getSidList();
 
         //处理删除状态数据
-        this.deletelinkPanData(param.getNum(), deleteSidList);
+        this.deletelinkPanData(bucket, param.getNum(), deleteSidList);
 
         //写入本地文件,作为备份
         this.writeLinkScene(param.getNum());
@@ -2012,7 +1991,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         return ResultData.ok();
     }
 
-    private void deletelinkPanData(String num, List<String> deleteSidList) throws Exception {
+    private void deletelinkPanData(String bucket, String num, List<String> deleteSidList) throws Exception {
 
         if(CollUtil.isEmpty(deleteSidList)){
             return;
@@ -2032,7 +2011,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         //删除oss文件
         String imgEditPath = String.format(UploadFilePath.IMG_EDIT_PATH, num);
         deleteSidList.stream().forEach(sid->{
-            uploadToOssUtil.deleteFile(imgEditPath + "panorama_edit/" + sid);
+            uploadToOssUtil.deleteFile(bucket,imgEditPath + "panorama_edit/" + sid);
         });
 
     }
@@ -2515,7 +2494,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         return result;
     }
 
-    private void transferToFlv(String num, String fileName) throws Exception {
+    private void transferToFlv(String bucket, String num, String fileName) throws Exception {
 
         String userEditPath = String.format(UploadFilePath.USER_EDIT_PATH, num);
         String localImagesPath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num);
@@ -2534,7 +2513,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         //从用户编辑目录中下载视频到本地
         if (!StorageType.LOCAL.code().equals(this.type)) {
             String filePath = userEditPath + fileName;
-            String imageUrl = ossUrlPrefix + filePath + "?t=" + System.currentTimeMillis();
+            String imageUrl = ossUrlPrefix + bucket + "/" + filePath + "?t=" + System.currentTimeMillis();
             FileUtils.downLoadFromUrl(imageUrl, fileName, localImagesPath);
         }
 
@@ -2544,7 +2523,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         //上传
         String flvFileName = fileName.replace("mp4", "flv");
 //        uploadToOssUtil.upload(localFilePath, userEditPath + fileName);
-        uploadToOssUtil.upload(localFilePath.replace("mp4", "flv"), userEditPath+flvFileName);
+        uploadToOssUtil.upload(bucket, localFilePath.replace("mp4", "flv"), userEditPath+flvFileName);
     }
 
     @Override

+ 6 - 5
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneEditServiceImpl.java

@@ -171,14 +171,15 @@ public class SceneEditServiceImpl implements ISceneEditService {
     @Override
     public ResultData locales(LocalesParamVO param) throws Exception {
         String key = "v4/www/locales/" + param.getFile();
-        uploadToOssUtil.upload(JSON.toJSONBytes(param.getData()), key);
+        uploadToOssUtil.upload(null, JSON.toJSONBytes(param.getData()), key);
         return ResultData.ok();
     }
 
     @Override
     public ResultData saveTour(BaseDataParamVO param) throws IOException {
+        String bucket = scenePlusService.getBucket(param.getNum());
         String key = String.format(UploadFilePath.USER_EDIT_PATH, param.getNum()) + "tour.json";
-        uploadToOssUtil.upload(param.getData().getBytes(StandardCharsets.UTF_8), key);
+        uploadToOssUtil.upload(bucket, param.getData().getBytes(StandardCharsets.UTF_8), key);
 
         sceneEditInfoExtService.updateToursByNum(
             param.getNum(), Integer.valueOf(CommonStatus.YES.code()));
@@ -188,6 +189,7 @@ public class SceneEditServiceImpl implements ISceneEditService {
 
     @Override
     public ResultData deleteTour(BaseSceneParamVO param) throws Exception {
+        String bucket = scenePlusService.getBucket(param.getNum());
         String userEditPath = String.format(UploadFilePath.USER_EDIT_PATH, param.getNum());
         String tourJsonPath = userEditPath + "tour.json";
         String tourJson = uploadToOssUtil.getObjectContent(bucket, tourJsonPath);
@@ -228,10 +230,9 @@ public class SceneEditServiceImpl implements ISceneEditService {
             }
         }
         //删除tour.json文件
-        uploadToOssUtil.delete(tourJsonPath);
+        uploadToOssUtil.delete(bucket, tourJsonPath);
 
-        sceneEditInfoExtService.updateToursByNum(
-            param.getNum(), Integer.valueOf(CommonStatus.NO.code()));
+        sceneEditInfoExtService.updateToursByNum(param.getNum(), Integer.valueOf(CommonStatus.NO.code()));
 
         return ResultData.ok();
     }

+ 6 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/ScenePlusServiceImpl.java

@@ -78,6 +78,12 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
     }
 
     @Override
+    public String getBucket(String num) {
+        ScenePlus plus = this.getScenePlusByNum(num);
+        return scenePlusExtService.getScenePlusExtByPlusId(plus.getId()).getYunFileBucket();
+    }
+
+    @Override
     public ResultData moveScene(List<String> numList, Long cameraId, Long userId) {
         LambdaUpdateWrapper<ScenePlus> updateWrapper =
             new LambdaUpdateWrapper<ScenePlus>()

+ 22 - 24
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneProAppServiceImpl.java

@@ -86,8 +86,6 @@ public class SceneProAppServiceImpl extends ServiceImpl<ISceneProMapper, ScenePr
 
     @Value("${upload.type}")
     private String type;
-    @Value("${oss.bucket}")
-    private String bucket;
 
     @Value("${oss.prefix.ali}")
     private String prefixAli;
@@ -166,7 +164,7 @@ public class SceneProAppServiceImpl extends ServiceImpl<ISceneProMapper, ScenePr
         uploadMap.put(imagesBuffer.toString() + "smallPic.jpg", imagesBuf.toString() + "smallPic.jpg");
         uploadMap.put(dataBuffer.toString() + "scene.json", dataBuf.toString() + "scene.json");
 
-        uploadToOssUtil.uploadMulFiles(uploadMap);
+        uploadToOssUtil.uploadMulFiles(null, uploadMap);
 
         sceneProEdit.setEntry(base.getInitialPoint());
         sceneProEdit.setThumbStatus(1);
@@ -223,8 +221,8 @@ public class SceneProAppServiceImpl extends ServiceImpl<ISceneProMapper, ScenePr
         sceneProEdit.setUpdateTime(Calendar.getInstance().getTime());
         sceneProEditService.updateById(sceneProEdit);
 
-        uploadToOssUtil.upload(imagesBuffer.toString() + "floorLogoImg.png", imagesBuf.toString() + "floorLogoImg.png");
-        uploadToOssUtil.upload(dataBuffer.toString() + "scene.json", dataBuf.toString() + "scene.json");
+        uploadToOssUtil.upload(null, imagesBuffer.toString() + "floorLogoImg.png", imagesBuf.toString() + "floorLogoImg.png");
+        uploadToOssUtil.upload(null, dataBuffer.toString() + "scene.json", dataBuf.toString() + "scene.json");
         return ResultData.ok();
     }
 
@@ -267,7 +265,7 @@ public class SceneProAppServiceImpl extends ServiceImpl<ISceneProMapper, ScenePr
         Map<String,String> map = (Map<String, String>) uploadFileMapAndSceneJson[0];
         JSONObject scenejson = (JSONObject) uploadFileMapAndSceneJson[1];
 
-        uploadToOssUtil.uploadMulFiles(map);
+        uploadToOssUtil.uploadMulFiles(null, map);
 
         if(!StringUtils.isEmpty(base.getPlayData())){
             sceneProEdit.setPlayData(dataBuf.toString() + "playData.json");
@@ -479,7 +477,7 @@ public class SceneProAppServiceImpl extends ServiceImpl<ISceneProMapper, ScenePr
             sceneProEditService.updateById(sceneProEdit);
         }
 
-        uploadToOssUtil.uploadMulFiles(map);
+        uploadToOssUtil.uploadMulFiles(null, map);
 
         return ResultData.ok();
     }
@@ -579,7 +577,7 @@ public class SceneProAppServiceImpl extends ServiceImpl<ISceneProMapper, ScenePr
                 }
                 file.transferTo(targetFile);
             }
-            uploadToOssUtil.upload(path + File.separator +originalFileName, "voice/voice"+sceneNum+"/"+originalFileName);
+            uploadToOssUtil.upload(null, path + File.separator +originalFileName, "voice/voice"+sceneNum+"/"+originalFileName);
 
             Map map = new HashMap();
             map.put("screencapVoiceFileName", originalFileName);
@@ -716,7 +714,7 @@ public class SceneProAppServiceImpl extends ServiceImpl<ISceneProMapper, ScenePr
         FileUtils.deleteFile(dataBuffer.toString() + "hot.json");
         FileUtils.writeFile(dataBuffer.toString() + "hot.json", hots.toString());
 
-        uploadToOssUtil.upload(dataBuffer.toString() + "hot.json", dataBuf.toString() + "hot.json");
+        uploadToOssUtil.upload(null, dataBuffer.toString() + "hot.json", dataBuf.toString() + "hot.json");
 
         return ResultData.ok();
     }
@@ -783,7 +781,7 @@ public class SceneProAppServiceImpl extends ServiceImpl<ISceneProMapper, ScenePr
         FileUtils.deleteFile(dataBuffer.toString() + "vision.modeldata");
         FileUtils.writeFile(dataBuffer.toString() + "vision.json", json.toString());
         ConvertUtils.convertTxtToVisionModelData(dataBuffer.toString() + "vision.json", dataBuffer.toString() + "vision.modeldata");
-        uploadToOssUtil.upload(dataBuffer.toString() + "vision.modeldata", imagesBuf.toString() + "vision.modeldata");
+        uploadToOssUtil.upload(null, dataBuffer.toString() + "vision.modeldata", imagesBuf.toString() + "vision.modeldata");
 
         String strsceneInfos = FileUtils.readFile(dataBuffer.toString() + "scene.json");
         JSONObject scenejson = new JSONObject();
@@ -860,7 +858,7 @@ public class SceneProAppServiceImpl extends ServiceImpl<ISceneProMapper, ScenePr
             return ResultData.error(ErrorCode.FAILURE_CODE_5005);
         }
         String originalFileName = ConstantFileName.WECHAT_VOICE_NAME+".mp3";
-        uploadToOssUtil.upload(ConstantFilePath.SCENE_PATH+"voice"+File.separator+"voice"+base.getNum()+File.separator +originalFileName, "voice/voice"+base.getNum()+"/"+originalFileName);
+        uploadToOssUtil.upload(null, ConstantFilePath.SCENE_PATH+"voice"+File.separator+"voice"+base.getNum()+File.separator +originalFileName, "voice/voice"+base.getNum()+"/"+originalFileName);
 
         Map map = new HashMap();
         map.put("screencapVoiceSoundsyncFileName", originalFileName);
@@ -948,7 +946,7 @@ public class SceneProAppServiceImpl extends ServiceImpl<ISceneProMapper, ScenePr
 
         FileUtils.copyFile(partPath+File.separator+fileName, path + File.separator + originalFileName, true);
 
-        uploadToOssUtil.upload(path+File.separator +originalFileName, "voice/voice"+sceneNum+"/"+originalFileName);
+        uploadToOssUtil.upload(null, path+File.separator +originalFileName, "voice/voice"+sceneNum+"/"+originalFileName);
 
         String voiceSrc = prefixAli+"voice/voice"+sceneNum+"/"+originalFileName;
         if("aws".equals(this.type)){
@@ -1016,13 +1014,13 @@ public class SceneProAppServiceImpl extends ServiceImpl<ISceneProMapper, ScenePr
         if("aws".equals(this.type)){
             CreateObjUtil.ossFileCp("voice"+File.separator+"voice"+sceneNum + "/" + soundFile, partPath + File.separator + fileName);
         }else {
-            CreateObjUtil.ossUtilCp(bucket, "voice"+File.separator+"voice"+sceneNum + "/" + soundFile, partPath + File.separator);
+            CreateObjUtil.ossUtilCp(null, "voice"+File.separator+"voice"+sceneNum + "/" + soundFile, partPath + File.separator);
             new File(partPath + File.separator + soundFile).renameTo(new File(partPath + File.separator + fileName));
         }
 
         FileUtils.copyFile(partPath+File.separator+fileName, path + File.separator + originalFileName, true);
 
-        uploadToOssUtil.upload(path+File.separator +originalFileName, "voice/voice"+sceneNum+"/"+originalFileName);
+        uploadToOssUtil.upload(null, path+File.separator +originalFileName, "voice/voice"+sceneNum+"/"+originalFileName);
 
         String voiceSrc = prefixAli+"voice/voice"+sceneNum+"/"+originalFileName;
         if("aws".equals(this.type)){
@@ -1142,7 +1140,7 @@ public class SceneProAppServiceImpl extends ServiceImpl<ISceneProMapper, ScenePr
             FileUtils.copyFile(partPath + File.separator + "0.mp3", path + File.separator + originalFileName, true);
         }
 
-        uploadToOssUtil.upload(path+File.separator +originalFileName, "voice/voice"+sceneNum+"/"+originalFileName);
+        uploadToOssUtil.upload(null, path+File.separator +originalFileName, "voice/voice"+sceneNum+"/"+originalFileName);
 
         String voiceSrc = prefixAli+"voice/voice"+sceneNum+"/"+originalFileName;
         if("aws".equals(this.type)){
@@ -1234,7 +1232,7 @@ public class SceneProAppServiceImpl extends ServiceImpl<ISceneProMapper, ScenePr
             sceneProEdit.setUpdateTime(Calendar.getInstance().getTime());
             sceneProEditService.updateById(sceneProEdit);
 
-            uploadToOssUtil.upload(ConstantFilePath.SCENE_PATH+"data"+File.separator+"data"+sceneEdit.getNum() + File.separator + "floor.json",
+            uploadToOssUtil.upload(null, ConstantFilePath.SCENE_PATH+"data"+File.separator+"data"+sceneEdit.getNum() + File.separator + "floor.json",
                     "data"+File.separator+"data"+sceneEdit.getNum() + File.separator + "floor.json");
         }catch (Exception e){
             log.error("画墙重建模型失败...", e);
@@ -1317,7 +1315,7 @@ public class SceneProAppServiceImpl extends ServiceImpl<ISceneProMapper, ScenePr
         }
 
         if(map.size()>0) {
-            uploadToOssUtil.uploadMulFiles(map);
+            uploadToOssUtil.uploadMulFiles(null, map);
         }
         sceneProEdit.setVersion(scenejson.getIntValue("version") + 1);
         sceneProEdit.setUpdateTime(Calendar.getInstance().getTime());
@@ -1441,7 +1439,7 @@ public class SceneProAppServiceImpl extends ServiceImpl<ISceneProMapper, ScenePr
             sceneProEditService.updateById(sceneProEdit);
 
             FileUtils.writeJsonFile(dataBuffer.toString() + "scene.json", map);
-            uploadToOssUtil.upload(ConstantFilePath.SCENE_PATH+floorPlanPng, floorPlanPng);
+            uploadToOssUtil.upload(null, ConstantFilePath.SCENE_PATH+floorPlanPng, floorPlanPng);
         }catch (Exception e){
             log.error("上传图片多媒体数据失败...", e);
             throw new BusinessException(ErrorCode.FAILURE_CODE_5041);
@@ -1488,7 +1486,7 @@ public class SceneProAppServiceImpl extends ServiceImpl<ISceneProMapper, ScenePr
         //上传文件
         file.transferTo(buMusicFile);
 
-        uploadToOssUtil.upload(imagesBuffer.toString() + fileName, imagesBuf + fileName);
+        uploadToOssUtil.upload(null, imagesBuffer.toString() + fileName, imagesBuf + fileName);
 
         String strsceneInfos = FileUtils.readFile(dataBuffer.toString() + "scene.json");
         JSONObject scenejson = new JSONObject();
@@ -1628,7 +1626,7 @@ public class SceneProAppServiceImpl extends ServiceImpl<ISceneProMapper, ScenePr
         if("aws".equals(this.type)){
             CreateObjUtil.ossFileCp("voice"+File.separator+"voice"+sceneNum + "/" + soundFile, partPath + File.separator + fileName);
         }else {
-            CreateObjUtil.ossUtilCp(bucket,"voice"+File.separator+"voice"+sceneNum + "/" + soundFile, partPath + File.separator);
+            CreateObjUtil.ossUtilCp(null,"voice"+File.separator+"voice"+sceneNum + "/" + soundFile, partPath + File.separator);
             new File(partPath + File.separator + soundFile).renameTo(new File(partPath + File.separator + fileName));
         }
 
@@ -1663,7 +1661,7 @@ public class SceneProAppServiceImpl extends ServiceImpl<ISceneProMapper, ScenePr
             CreateObjUtil.mergeVideo(partPath + File.separator + "0.mp3", partPath + File.separator + "1.mp3", path + File.separator + originalFileName);
         }
 
-        uploadToOssUtil.upload(path+File.separator +originalFileName, "voice/voice"+sceneNum+"/"+originalFileName);
+        uploadToOssUtil.upload(null, path+File.separator +originalFileName, "voice/voice"+sceneNum+"/"+originalFileName);
 
         String voiceSrc = prefixAli+"voice/voice"+sceneNum+"/"+originalFileName;
         if("aws".equals(this.type)){
@@ -1756,7 +1754,7 @@ public class SceneProAppServiceImpl extends ServiceImpl<ISceneProMapper, ScenePr
             CreateObjUtil.mergeVideo(partPath + File.separator + "0.mp3", partPath + File.separator + "1.mp3", path + File.separator + originalFileName);
         }
 
-        uploadToOssUtil.upload(path+File.separator +originalFileName, "voice/voice"+sceneNum+"/"+originalFileName);
+        uploadToOssUtil.upload(null, path+File.separator +originalFileName, "voice/voice"+sceneNum+"/"+originalFileName);
     }
 
     private void saveImageToDisk(String path, String id) throws Exception {
@@ -2042,7 +2040,7 @@ public class SceneProAppServiceImpl extends ServiceImpl<ISceneProMapper, ScenePr
                 statusJson.put("thumb", scenePro.getThumb());
                 statusJson.put("payStatus", scenePro.getPayStatus());
                 FileUtils.writeFile(ConstantFilePath.SCENE_PATH+"data/data"+scenePro.getNum()+ File.separator+"status.json", statusJson.toString());
-                uploadToOssUtil.upload(ConstantFilePath.SCENE_PATH+"data/data"+scenePro.getNum()+File.separator+"status.json",
+                uploadToOssUtil.upload(null, ConstantFilePath.SCENE_PATH+"data/data"+scenePro.getNum()+File.separator+"status.json",
                         "data/data"+scenePro.getNum()+File.separator+"status.json");
 
             }catch (Exception e){
@@ -2130,7 +2128,7 @@ public class SceneProAppServiceImpl extends ServiceImpl<ISceneProMapper, ScenePr
         statusJson.put("payStatus", scenePro.getPayStatus());
         statusJson.put("tbStatus", scenePro.getTbStatus());
         FileUtils.writeFile(ConstantFilePath.SCENE_PATH+"data/data"+sceneNum+File.separator+"status.json", statusJson.toString());
-        uploadToOssUtil.upload(ConstantFilePath.SCENE_PATH+"data/data"+sceneNum+File.separator+"status.json",
+        uploadToOssUtil.upload(null, ConstantFilePath.SCENE_PATH+"data/data"+sceneNum+File.separator+"status.json",
                 "data/data"+sceneNum+File.separator+"status.json");
 
         return ResultData.ok();

+ 50 - 45
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneProServiceImpl.java

@@ -156,8 +156,6 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     private String fkankanMiniHost;
     @Value("${http.api-v4.upgradeToV4ResultSync}")
     private String URL_UPGRADE_TO_V4_RESULT_SYNC;
-    @Value("${oss.bucket}")
-    private String bucket;
     @Value("${oss.orig-bucket}")
     private String origBucket;
 
@@ -750,7 +748,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             }
             String fileMD5 = FileMd5Util.getFileMD5(new File(zipPath));
 
-            uploadToOssUtil.upload(zipPath, "data_download/" + sceneNum + ".zip");
+            uploadToOssUtil.upload(null, zipPath, "data_download/" + sceneNum + ".zip");
 
             SceneDataDownload sceneDataDownload = sceneDataDownloadService.findBySceneNum(sceneNum);
             if(sceneDataDownload == null){
@@ -941,9 +939,10 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
         }
         ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
+        String bucket = scenePlusExt.getYunFileBucket();
 
         //更新缩略图url
-        String thumbUrl = this.ossUrlPrefix + String.format(UploadFilePath.USER_EDIT_PATH, param.getNum()) + param.getFileName();
+        String thumbUrl = this.ossUrlPrefix + bucket + "/" + String.format(UploadFilePath.USER_EDIT_PATH, param.getNum()) + param.getFileName();
         scenePlusExt.setThumb(thumbUrl);
         scenePlusExtService.updateById(scenePlusExt);
 
@@ -2017,7 +2016,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
                         //亚马逊保持旧方式,超链接capture
                         CreateObjUtil.createSoftConnection(path + File.separator + "capture", target + File.separator + "capture");
                     }
-                    CreateObjUtil.ossUtilCp(origBucket,ConstantFilePath.OSS_PREFIX + path.replace(ConstantFilePath.BUILD_MODEL_PATH, "") + "/data.fdage", target + File.separator + "capture/");
+                    CreateObjUtil.ossUtilCp(null,ConstantFilePath.OSS_PREFIX + path.replace(ConstantFilePath.BUILD_MODEL_PATH, "") + "/data.fdage", target + File.separator + "capture/");
 
                     CreateObjUtil.build3dModel(target , "1");
 
@@ -2080,13 +2079,13 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
 
                 if(video.exists() && video.listFiles() != null && video.listFiles().length > 0){
                     for(String videoName : video.list()){
-                        uploadToOssUtil.upload(target + File.separator + "extras/video/" + videoName,"video/video"+
+                        uploadToOssUtil.upload(null, target + File.separator + "extras/video/" + videoName,"video/video"+
                                 scenePro.getNum()+ File.separator + videoName);
 
                         CreateObjUtil.mp4ToFlv(target + File.separator + "extras/video/" + videoName,
                                 target + File.separator + "extras/video/" + videoName.replace("mp4", "flv"));
 
-                        uploadToOssUtil.upload(target + File.separator + "extras/video/" + videoName.replace("mp4", "flv"),"video/video"+
+                        uploadToOssUtil.upload(null, target + File.separator + "extras/video/" + videoName.replace("mp4", "flv"),"video/video"+
                                 scenePro.getNum()+ File.separator + videoName.replace("mp4", "flv"));
 
                         //覆盖原始视频资源
@@ -2100,13 +2099,13 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             }else if(scenejson.getIntValue("buildImages") == 2){
                 if(video.exists() && video.listFiles() != null && video.listFiles().length > 0){
                     for(String videoName : video.list()){
-                        uploadToOssUtil.upload(target + File.separator + "extras/video/" + videoName,"video/video"+
+                        uploadToOssUtil.upload(null, target + File.separator + "extras/video/" + videoName,"video/video"+
                                 scenePro.getNum()+ File.separator + videoName);
 
                         CreateObjUtil.mp4ToFlv(target + File.separator + "extras/video/" + videoName,
                                 target + File.separator + "extras/video/" + videoName.replace("mp4", "flv"));
 
-                        uploadToOssUtil.upload(target + File.separator + "extras/video/" + videoName.replace("mp4", "flv"),"video/video"+
+                        uploadToOssUtil.upload(null, target + File.separator + "extras/video/" + videoName.replace("mp4", "flv"),"video/video"+
                                 scenePro.getNum()+ File.separator + videoName.replace("mp4", "flv"));
 
                         //覆盖原始视频资源
@@ -2204,7 +2203,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         FileUtils.writeFile(dataBuffer.toString() + "scene.json", scenejson.toString());
 
         if(map.size()>0) {
-            uploadToOssUtil.uploadMulFiles(map);
+            uploadToOssUtil.uploadMulFiles(null, map);
         }
 
         scenePro.setUpdateTime(Calendar.getInstance().getTime());
@@ -2282,7 +2281,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         });
 
         //处理删除状态数据
-        this.deleteHotData(param.getNum(), deleteSidList);
+        this.deleteHotData(null, param.getNum(), deleteSidList);
 
         //处理新增和修改数据
         this.addOrUpdateHotDataHandler(param.getNum(), addOrUpdateMap);
@@ -2360,12 +2359,14 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         ScenePlus scenePlus = scenePlusService.getScenePlusByNum(param.getNum());
         if (scenePlus == null)
             return ResultData.error(ErrorCode.FAILURE_CODE_5005);
+        ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
+        String bucket = scenePlusExt.getYunFileBucket();
 
         List<String> deleteSidList = param.getSidList();
 
 
         //处理删除状态数据
-        this.deleteHotData(param.getNum(), deleteSidList);
+        this.deleteHotData(bucket, param.getNum(), deleteSidList);
 
         //写入本地文件,作为备份
         this.writeHotJson(param.getNum());
@@ -2627,7 +2628,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     }
 
 
-    private void deleteHotData(String num, List<String> deleteSidList) throws Exception {
+    private void deleteHotData(String bucket, String num, List<String> deleteSidList) throws Exception {
 
         this.syncHotFromFileToRedis(num);
 
@@ -2653,15 +2654,15 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
                 String fileType = jsonObject.getString("media");
                 if(fileType.contains("photo"))
                 {
-                    uploadToOssUtil.delete(userDataPath + "hot"+sid+".jpg");
+                    uploadToOssUtil.delete(bucket,userDataPath + "hot"+sid+".jpg");
                 }
                 if(fileType.contains("audio") || fileType.contains("voice"))
                 {
-                    uploadToOssUtil.delete(userDataPath + "hot"+sid+".mp3");
+                    uploadToOssUtil.delete(bucket,userDataPath + "hot"+sid+".mp3");
                 }
                 if(fileType.contains("video"))
                 {
-                    uploadToOssUtil.delete(userDataPath + "hot"+sid+".mp4");
+                    uploadToOssUtil.delete(bucket,userDataPath + "hot"+sid+".mp4");
                 }
             }
             if(!StorageType.AWS.code().equals(this.type)){
@@ -2939,8 +2940,8 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
 
             CreateObjUtil.mp4ToFlv(path + File.separator + fileName, path + File.separator + fileName.replace("mp4", "flv"));
 
-            uploadToOssUtil.upload(path + File.separator + fileName, "images"+File.separator+"images"+sceneNum + File.separator + fileName);
-            uploadToOssUtil.upload(path + File.separator + fileName.replace("mp4", "flv"), "images"+File.separator+"images"+sceneNum + File.separator + fileName.replace("mp4", "flv"));
+            uploadToOssUtil.upload(null, path + File.separator + fileName, "images"+File.separator+"images"+sceneNum + File.separator + fileName);
+            uploadToOssUtil.upload(null, path + File.separator + fileName.replace("mp4", "flv"), "images"+File.separator+"images"+sceneNum + File.separator + fileName.replace("mp4", "flv"));
         }
 
         return ResultData.ok(fileName);
@@ -3076,6 +3077,8 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         if (scenePlus == null ) {
             return ResultData.error(ErrorCode.FAILURE_CODE_5005);
         }
+        ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
+        String bucket = scenePlusExt.getYunFileBucket();
 
         JSONArray inputData = JSONObject.parseArray(param.getData());
 
@@ -3085,7 +3088,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             directory.mkdirs();
         }
         String viewImagesPath = String.format(UploadFilePath.IMG_VIEW_PATH, param.getNum());
-        String modeldataUrl = ossUrlPrefix + viewImagesPath + "vision.modeldata?t=" + System.currentTimeMillis();
+        String modeldataUrl = ossUrlPrefix + bucket + "/"+ viewImagesPath + "vision.modeldata?t=" + System.currentTimeMillis();
 
         //如果是云存储,将vision.modeldata下载到本地,如果是本地存储,场景计算完就已经将这个文件拷贝到编辑目录了存在这个文件了,不需要再下载
         if(!StorageType.LOCAL.code().equals(this.type)){
@@ -3120,7 +3123,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         FileUtils.deleteFile(localDataPath + "vision.modeldata");
         FileUtils.writeFile(localDataPath + "vision.json", json.toString());
         ConvertUtils.convertTxtToVisionModelData(localDataPath + "vision.json", localDataPath + "vision.modeldata");
-        uploadToOssUtil.upload(localDataPath + "vision.modeldata", viewImagesPath + "vision.modeldata");
+        uploadToOssUtil.upload(bucket, localDataPath + "vision.modeldata", viewImagesPath + "vision.modeldata");
 
         //更新版本号
         SceneEditInfo editInfo = sceneEditInfoService.getByScenePlusId(scenePlus.getId());
@@ -3131,7 +3134,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         }else{
             sceneEditInfoService.upgradeVersionById(editInfo.getId());
             //更新scenejson缓存和oss文件版本号
-            sceneEditInfoService.upgradeSceneJsonVersion(param.getNum(), editInfo.getVersion() + 1, null);
+            sceneEditInfoService.upgradeSceneJsonVersion(bucket, param.getNum(), editInfo.getVersion() + 1, null);
         }
 
         //更新scene.json版本号
@@ -3244,7 +3247,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         }
 
         if(toOss != null && "1".equals(toOss)){
-            uploadToOssUtil.upload(path + File.separator + fileName, "images"+File.separator+"images"+sceneNum + File.separator + fileName);
+            uploadToOssUtil.upload(null, path + File.separator + fileName, "images"+File.separator+"images"+sceneNum + File.separator + fileName);
         }
 
         return ResultData.ok(targetFile.getName());
@@ -3258,14 +3261,14 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         }
 
         String path = ConstantFilePath.SCENE_PATH+"data"+File.separator+"data"+sceneNum;
-        uploadToOssUtil.upload(path + File.separator + "hot.json", "data"+File.separator+"data"+sceneNum + File.separator + "hot.json");
+        uploadToOssUtil.upload(null, path + File.separator + "hot.json", "data"+File.separator+"data"+sceneNum + File.separator + "hot.json");
 
         return ResultData.ok();
     }
 
     @Override
     public ResultData deleteOss(FileParamVO param) throws Exception {
-        uploadToOssUtil.deleteFile(param.getFilePath());
+        uploadToOssUtil.deleteFile(null, param.getFilePath());
         return ResultData.ok();
     }
 
@@ -3539,6 +3542,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         }
 //        SceneProExt sceneProExt = sceneProExtService.findBySceneProId(scenePro.getId());
         ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
+        String bucket = scenePlusExt.getYunFileBucket();
 
         //文件上传的位置可以自定义
         String path = scenePlusExt.getDataSource() + "_obj2txt";
@@ -3566,7 +3570,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         }
 
         //算法计算完后,生成压缩文件,上传到oss
-        this.uploadFileofterRebuildPanoram(path, num);
+        this.uploadFileofterRebuildPanoram(bucket, path, num);
 
         //更新版本信息
         SceneEditInfo sceneEditInfo = sceneEditInfoService.getByScenePlusId(scenePlus.getId());
@@ -3587,13 +3591,13 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
                     .set(SceneEditInfo::getIsUploadObj, CommonStatus.YES.code())
                     .eq(SceneEditInfo::getId, sceneEditInfo.getId()));
 
-            sceneEditInfoService.upgradeSceneJsonVersion(num, sceneEditInfo.getVersion() + 1, sceneEditInfo.getImgVersion() + 1);
+            sceneEditInfoService.upgradeSceneJsonVersion(bucket, num, sceneEditInfo.getVersion() + 1, sceneEditInfo.getImgVersion() + 1);
         }
 
         return ResultData.ok();
     }
 
-    private void uploadFileofterRebuildPanoram(String path, String sceneNum) throws Exception {
+    private void uploadFileofterRebuildPanoram(String bucket, String path, String sceneNum) throws Exception {
         //因为共享目录有延迟,这里循环检测算法是否计算完毕3次,每次隔五秒
         String uploadJsonPath = path + File.separator + "results" +File.separator+"upload.json";
         boolean exist = ComputerUtil.checkComputeCompleted(uploadJsonPath, maxCheckTimes, waitTime);
@@ -3640,7 +3644,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         map.put(path + File.separator + "results" +File.separator+ConstantFileName.modelUUID+"_50k.dam.lzma", imgViewPath +ConstantFileName.modelUUID+"_50k.dam.lzma");
         map.put(path + File.separator + "results" +File.separator+ConstantFileName.modelUUID+"_50k.dam", imgViewPath+ConstantFileName.modelUUID+"_50k.dam");
 
-        uploadToOssUtil.uploadMulFiles(map);
+        uploadToOssUtil.uploadMulFiles(bucket, map);
 
         // TODO: 2022/2/17 这里复制一份到本地,不知道需不需要,先注释掉
 //        FileUtils.copyFile(path + File.separator + "results" +File.separator+ConstantFileName.modelUUID+"_50k.dam",
@@ -4061,7 +4065,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
 
         }
 
-        uploadToOssUtil.uploadMulFiles(map);
+        uploadToOssUtil.uploadMulFiles(null, map);
 
         scenejson.put("videosUser", jsonArray.toJSONString());
         scenejson.put("imagesVersion", scenejson.getIntValue("imagesVersion") + 1);
@@ -4138,9 +4142,9 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             sceneProEditExtService.updateById(sceneProEditExt);
         }
 
-        uploadToOssUtil.delete("video/video"+ scenePro.getNum() + File.separator +
+        uploadToOssUtil.delete(null,"video/video"+ scenePro.getNum() + File.separator +
                 fileName.substring(0, fileName.lastIndexOf(".")) + ".mp4");
-        uploadToOssUtil.delete("video/video"+ scenePro.getNum() + File.separator +
+        uploadToOssUtil.delete(null,"video/video"+ scenePro.getNum() + File.separator +
                 fileName.substring(0, fileName.lastIndexOf(".")) + ".flv");
 
         FileUtils.deleteFile(ConstantFilePath.SCENE_PATH + "video/video"+ scenePro.getNum() + File.separator + fileName);
@@ -4257,14 +4261,14 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             SceneProExt sceneProExt = sceneProExtService.findBySceneProId(scenePro.getId());
 
             FileUtils.copyFile(sceneProExt.getDataSource() + "/results/floor.json", dataBuffer.toString() + "houst_floor.json", true);
-            uploadToOssUtil.upload(dataBuffer.toString() + "houst_floor.json", dataBuf.toString() + "houst_floor.json");
+            uploadToOssUtil.upload(null, dataBuffer.toString() + "houst_floor.json", dataBuf.toString() + "houst_floor.json");
 
             String result = FileUtils.readFile(dataBuffer.toString() + "houst_floor.json");
             return ResultData.ok((Object) result);
         }
 
         FileUtils.writeFile(dataBuffer.toString() + "houst_floor.json", floorJsonData);
-        uploadToOssUtil.upload(dataBuffer.toString() + "houst_floor.json", dataBuf.toString() + "houst_floor.json");
+        uploadToOssUtil.upload(null, dataBuffer.toString() + "houst_floor.json", dataBuf.toString() + "houst_floor.json");
         return ResultData.ok(floorJsonData);
     }
 
@@ -4375,7 +4379,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         }
 
         FileUtils.zipFile(imagesBuffer.toString() + sceneNum + "-high.zip", highPath);
-        uploadToOssUtil.upload(imagesBuffer.toString() + sceneNum + "-high.zip", imagesBuf.toString() + sceneNum + "-high.zip");
+        uploadToOssUtil.upload(null, imagesBuffer.toString() + sceneNum + "-high.zip", imagesBuf.toString() + sceneNum + "-high.zip");
 
         return ResultData.ok(prefixAli + imagesBuf.toString() + sceneNum + "-high.zip?t=" + System.currentTimeMillis());
 
@@ -4449,7 +4453,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         }
         ConvertUtils.convertVisionModelDataToTxt(dataBuffer.toString() + "vision.modeldata", dataBuffer.toString() + "vision.json");
 
-        uploadToOssUtil.upload(dataBuffer.toString() + "vision.json", dataBuf.toString() + "vision.json");
+        uploadToOssUtil.upload(null, dataBuffer.toString() + "vision.json", dataBuf.toString() + "vision.json");
         return ResultData.ok(prefixAli + dataBuf.toString() + "vision.json?t=" + System.currentTimeMillis());
     }
 
@@ -4670,6 +4674,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         }
 //        SceneProExt sceneProExt = sceneProExtService.findBySceneProId(scenePro.getId());
         ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
+        String bucket = scenePlusExt.getYunFileBucket();
 
         SceneEditInfo sceneEditInfo = sceneEditInfoService.getByScenePlusId(scenePlus.getId());
 
@@ -4690,8 +4695,8 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             //打包
             ZipUtil.zip(newData, zipPath);
             //上传压缩包
-            uploadToOssUtil.upload(zipPath, "downloads/extras/" + zipName);
-            String url = ossUrlPrefix + "downloads/extras/" + zipName + "?t=" + Calendar.getInstance().getTimeInMillis();
+            uploadToOssUtil.upload(bucket, zipPath, "downloads/extras/" + zipName);
+            String url = ossUrlPrefix + bucket + "/" + "downloads/extras/" + zipName + "?t=" + Calendar.getInstance().getTimeInMillis();
             return ResultData.ok(url);
         }
 
@@ -4735,8 +4740,8 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
                 //打包
                 ZipUtil.zip(meshPath, zipPath);
                 //上传压缩包
-                uploadToOssUtil.upload(zipPath, "downloads/extras/" + zipName);
-                String url = ossUrlPrefix + "downloads/extras/" + zipName + "?t=" + Calendar.getInstance().getTimeInMillis();
+                uploadToOssUtil.upload(bucket, zipPath, "downloads/extras/" + zipName);
+                String url = ossUrlPrefix + bucket + "/" + "downloads/extras/" + zipName + "?t=" + Calendar.getInstance().getTimeInMillis();
 //                FileUtil.del(zipPath);
                 return ResultData.ok(url);
             }
@@ -4760,8 +4765,8 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
 
             ZipUtil.zip(editData, zipPath);
             //上传压缩包
-            uploadToOssUtil.upload(zipPath, "downloads/extras/" + zipName);
-            String url = ossUrlPrefix + "downloads/extras/" + zipName + "?t=" + Calendar.getInstance().getTimeInMillis();
+            uploadToOssUtil.upload(bucket, zipPath, "downloads/extras/" + zipName);
+            String url = ossUrlPrefix + bucket + "/" + "downloads/extras/" + zipName + "?t=" + Calendar.getInstance().getTimeInMillis();
             return ResultData.ok(url);
         }
 
@@ -4784,8 +4789,8 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
 
         ZipUtil.zip(dataPath, zipPath);
         //上传压缩包
-        uploadToOssUtil.upload(zipPath, "downloads/extras/" + zipName);
-        String url = ossUrlPrefix + "downloads/extras/" + zipName + "?t=" + Calendar.getInstance().getTimeInMillis();
+        uploadToOssUtil.upload(bucket, zipPath, "downloads/extras/" + zipName);
+        String url = ossUrlPrefix + bucket + "/" + "downloads/extras/" + zipName + "?t=" + Calendar.getInstance().getTimeInMillis();
         return ResultData.ok(url);
     }
 
@@ -4901,7 +4906,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             JSONObject scenejson = JSONObject.parseObject(JSONObject.toJSONString(sceneProPO));
             FileUtils.writeFile(ConstantFilePath.SCENE_PATH+"data/data"+projectNum+File.separator+"scene.json", scenejson.toString());
 
-            uploadToOssUtil.upload(ConstantFilePath.SCENE_PATH + "images/images" + oldNum + File.separator + "floorplan.png",
+            uploadToOssUtil.upload(null, ConstantFilePath.SCENE_PATH + "images/images" + oldNum + File.separator + "floorplan.png",
                     "images/images" + projectNum + File.separator + "floorplan.png");
             path = sceneProExt.getDataSource();
         }
@@ -5031,7 +5036,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         log.info("floor.json路径:"+ path + File.separator + "results" +File.separator+"floor.json");
         map.put(path + File.separator + "results" +File.separator+"floor.json","data/data"+projectNum+"/floor.json");
         log.info("准备上传文件到oss:"+projectNum);
-        uploadToOssUtil.uploadMulFiles(map);
+        uploadToOssUtil.uploadMulFiles(null, map);
 
         return ResultData.ok("上传完成");
     }

+ 7 - 7
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneServiceImpl.java

@@ -731,7 +731,7 @@ public class SceneServiceImpl extends ServiceImpl<ISceneMapper, Scene> implement
         FileUtils.deleteFile(dataBuffer.toString() + "vision.modeldata");
         FileUtils.writeFileContent(dataBuffer.toString() + "vision.json", json.toString());
         ConvertUtils.convertTxtToVisionModelData(dataBuffer.toString() + "vision.json", dataBuffer.toString() + "vision.modeldata");
-        uploadToOssUtil.upload(dataBuffer.toString() + "vision.modeldata", imagesBuf.toString() + "vision.modeldata");
+        uploadToOssUtil.upload(null, dataBuffer.toString() + "vision.modeldata", imagesBuf.toString() + "vision.modeldata");
         return ResultData.ok();
     }
 
@@ -1308,7 +1308,7 @@ public class SceneServiceImpl extends ServiceImpl<ISceneMapper, Scene> implement
         statusJson.put("payStatus", sceneProEntity.getPayStatus());
         statusJson.put("recStatus", sceneProEntity.getTbStatus() == 0 ? "A" :"I");
         FileUtils.writeFile(ConstantFilePath.SCENE_PATH+"data/data"+sceneNum+File.separator+"status.json", statusJson.toString());
-        uploadToOssUtil.upload(ConstantFilePath.SCENE_PATH+"data/data"+sceneNum+File.separator+"status.json",
+        uploadToOssUtil.upload(null, ConstantFilePath.SCENE_PATH+"data/data"+sceneNum+File.separator+"status.json",
                 "data/data"+sceneNum+File.separator+"status.json");
 
         return ResultData.ok();
@@ -1343,12 +1343,12 @@ public class SceneServiceImpl extends ServiceImpl<ISceneMapper, Scene> implement
         String oldEditPath = String.format(UploadFilePath.EDIT_PATH, num);
 
         String newEditPath = String.format(UploadFilePath.EDIT_PATH, newNum);
-        uploadToOssUtil.copyFiles(oldEditPath, newEditPath);
+        uploadToOssUtil.copyFiles(null, oldEditPath, newEditPath);
 
         // 拷贝场景展示资源
         String oldViewPath = String.format(UploadFilePath.VIEW_PATH, num);
         String newViewPath = String.format(UploadFilePath.VIEW_PATH, newNum);
-        uploadToOssUtil.copyFiles(oldViewPath, newViewPath);
+        uploadToOssUtil.copyFiles(null, oldViewPath, newViewPath);
 
         // 拷贝本地资源
         String oldPath = String.format("/mnt/4Dkankan/scene/%s/caches/images/", num);
@@ -1439,7 +1439,7 @@ public class SceneServiceImpl extends ServiceImpl<ISceneMapper, Scene> implement
         FileUtils.writeFile(sceneJsonLocalPath,JSON.toJSONString(sceneJson));
 
         String sceneJsonPath = String.format(UploadFilePath.DATA_VIEW_PATH+"scene.json", newNum);
-        uploadToOssUtil.upload(JSON.toJSONBytes(sceneJson), sceneJsonPath);
+        uploadToOssUtil.upload(null, JSON.toJSONBytes(sceneJson), sceneJsonPath);
 
         //删除scenejson缓存
         redisUtil.del(String.format(RedisKey.SCENE_JSON, num));
@@ -1451,7 +1451,7 @@ public class SceneServiceImpl extends ServiceImpl<ISceneMapper, Scene> implement
         String outPathEn = ConstantFilePath.BASE_PATH + File.separator + "sceneQRcode/" + newNum + "_en.png";
         MatrixToImageWriterUtil.createQRCode(sceneUrl + newNum, outPathZh, false,null);
         MatrixToImageWriterUtil.createQRCode(sceneUrl + newNum + "&lang=en", outPathEn, false, null);
-        uploadToOssUtil.upload(outPathZh, String.format(UploadFilePath.DOWNLOADS_QRCODE, newNum) + newNum + ".png");
-        uploadToOssUtil.upload(outPathEn, String.format(UploadFilePath.DOWNLOADS_QRCODE, newNum) + newNum + "_en.png");
+        uploadToOssUtil.upload(null, outPathZh, String.format(UploadFilePath.DOWNLOADS_QRCODE, newNum) + newNum + ".png");
+        uploadToOssUtil.upload(null, outPathEn, String.format(UploadFilePath.DOWNLOADS_QRCODE, newNum) + newNum + "_en.png");
     }
 }

+ 14 - 7
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneUploadServiceImpl.java

@@ -18,6 +18,7 @@ import com.fdkankan.common.util.FileUtil;
 import com.fdkankan.fyun.oss.UploadToOssUtil;
 import com.fdkankan.scene.entity.SceneUpload;
 import com.fdkankan.scene.mapper.ISceneUploadMapper;
+import com.fdkankan.scene.service.IScenePlusService;
 import com.fdkankan.scene.service.ISceneUploadService;
 import com.fdkankan.scene.vo.DeleteFileParamVO;
 import com.fdkankan.scene.vo.UploadContentParamVO;
@@ -67,6 +68,9 @@ public class SceneUploadServiceImpl extends ServiceImpl<ISceneUploadMapper, Scen
     @Autowired
     private SSOLoginHelper ssoLoginHelper;
 
+    @Autowired
+    private IScenePlusService scenePlusService;
+
     @Override
     public String uploads(String imgData,String fileName,String blzType,MultipartFile[] files,
         String sceneCode,Integer type,String token, String uploadPath) throws Exception{
@@ -86,6 +90,7 @@ public class SceneUploadServiceImpl extends ServiceImpl<ISceneUploadMapper, Scen
 
     @Override
     public ResultData delete(DeleteFileParamVO param) throws Exception {
+        String bucket = scenePlusService.getBucket(param.getNum());
         String userEditPath = String.format(UploadFilePath.USER_EDIT_PATH, param.getNum());
         List<String> filePaths = new ArrayList<>();
         Set<String> hasDelete = new HashSet<>();
@@ -96,7 +101,7 @@ public class SceneUploadServiceImpl extends ServiceImpl<ISceneUploadMapper, Scen
             hasDelete.add(fileName);
             String key = userEditPath + fileName;
             filePaths.add(key);
-            uploadToOssUtil.delete(key);
+            uploadToOssUtil.delete(bucket, key);
         }
 
         this.update(new LambdaUpdateWrapper<SceneUpload>()
@@ -118,9 +123,11 @@ public class SceneUploadServiceImpl extends ServiceImpl<ISceneUploadMapper, Scen
         if(StrUtil.isEmpty(bizType))
             throw new BusinessException(ServerCode.PARAM_REQUIRED, "bizType");
 
+        String bucket = scenePlusService.getBucket(sceneCode);
+
         List<String> urlList = new ArrayList<>();
         if(type != null && 1 == type){
-            this.updateFileByPreFix(sceneCode,bizType);
+            this.updateFileByPreFix(bucket, sceneCode,bizType);
         }
         for (MultipartFile file : files) {
             String fileName = file.getOriginalFilename();
@@ -139,7 +146,7 @@ public class SceneUploadServiceImpl extends ServiceImpl<ISceneUploadMapper, Scen
 
             String ossPath = StrUtil.isNotBlank(uploadPath) ? uploadPath : (String.format(UploadFilePath.USER_EDIT_PATH ,sceneCode) + realFileName);
             try {
-                uploadToOssUtil.upload2(newFile.getPath(),ossPath);
+                uploadToOssUtil.upload2(bucket, newFile.getPath(),ossPath);
             }catch (Exception e){
                 log.error(ossPath+"上传文件失败"+e);
                 throw new BusinessException(ErrorCode.FAILURE_CODE_7013);
@@ -161,7 +168,7 @@ public class SceneUploadServiceImpl extends ServiceImpl<ISceneUploadMapper, Scen
         return returnString.toString();
     }
 
-    private void updateFileByPreFix(String sceneCode, String blzType) {
+    private void updateFileByPreFix(String bucket, String sceneCode, String blzType) {
         LambdaQueryWrapper<SceneUpload> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(SceneUpload::getNum,sceneCode)
                 .eq(SceneUpload::getBizType,blzType)
@@ -171,7 +178,7 @@ public class SceneUploadServiceImpl extends ServiceImpl<ISceneUploadMapper, Scen
         if(list != null && list.size() >0){
             for (SceneUpload sceneUpload : list) {
                 try {
-                    uploadToOssUtil.delete(sceneUpload.getFilePath());
+                    uploadToOssUtil.delete(bucket, sceneUpload.getFilePath());
                     this.removeEntity(sceneUpload);
                 }catch (Exception e){
                     log.error(sceneUpload.getFilePath()+"删除oss文件失败",e);
@@ -209,9 +216,9 @@ public class SceneUploadServiceImpl extends ServiceImpl<ISceneUploadMapper, Scen
 
         File tempFile = File.createTempFile(UUID.randomUUID().toString(), suffix);
         cn.hutool.core.io.FileUtil.writeString(param.getContent(), tempFile, StandardCharsets.UTF_8);
-        uploadToOssUtil.upload(tempFile.getPath(), param.getOssPath());
+        uploadToOssUtil.upload(bucket, tempFile.getPath(), param.getOssPath());
         tempFile.deleteOnExit();
 
-        return this.ossUrlPrefix + param.getOssPath();
+        return this.ossUrlPrefix + bucket + "/" + param.getOssPath();
     }
 }

+ 2 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/SceneInfoVO.java

@@ -204,6 +204,8 @@ public class SceneInfoVO {
      */
     private Integer links;
 
+    private String bucket;
+
 
 
 

+ 6 - 5
4dkankan-task/pom.xml

@@ -39,11 +39,12 @@
             <version>ZJ-2.0.0-SNAPSHOT</version>
         </dependency>
 
-<!--        <dependency>-->
-<!--            <groupId>com.fdkankan</groupId>-->
-<!--            <artifactId>4dkankan-utils-rabbitmq</artifactId>-->
-<!--            <version>ZJ-2.0.0-SNAPSHOT</version>-->
-<!--        </dependency>-->
+        <dependency>
+            <groupId>com.fdkankan</groupId>
+            <artifactId>4dkankan-utils-rabbitmq</artifactId>
+            <version>ZJ-2.0.0-SNAPSHOT</version>
+        </dependency>
+
         <dependency>
             <groupId>com.fdkankan</groupId>
             <artifactId>4dkankan-utils-redis</artifactId>

+ 13 - 0
4dkankan-task/src/main/java/com/fdkankan/task/constant/TaskConstant.java

@@ -0,0 +1,13 @@
+package com.fdkankan.task.constant;
+
+public class TaskConstant {
+
+    public static String indexKey = "deleteV3Dir:index";
+    public static String numKey = "deleteV3Dir:num";
+    public static String deleteNumKey = "deleteSceneDir:num";
+    public static String dataPathFormat = "data/data%s/";
+    public static String imgPathFormat = "images/images%s/";
+    public static String videoPathFormat = "video/video%s/";
+    public static String voicePathFormat = "voice/voice%s/";
+
+}

+ 3 - 0
4dkankan-task/src/main/java/com/fdkankan/task/entity/ScenePlusExt.java

@@ -133,6 +133,9 @@ public class ScenePlusExt implements Serializable {
     @TableField("videos")
     private String videos;
 
+    @TableField("yun_file_bucket")
+    private String yunFileBucket;
+
     /**
      * 创建时间
      */

+ 37 - 0
4dkankan-task/src/main/java/com/fdkankan/task/listener/MqListener.java

@@ -0,0 +1,37 @@
+package com.fdkankan.task.listener;
+
+import com.fdkankan.task.service.IScenePlusService;
+import com.rabbitmq.client.Channel;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.amqp.core.Message;
+import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.nio.charset.StandardCharsets;
+
+@Slf4j
+@Component
+public class MqListener {
+
+    @Autowired
+    private IScenePlusService scenePlusService;
+
+    /**
+     * 场景计算前置资源准备处理
+     * @param channel
+     * @param message
+     * @throws Exception
+     */
+    @RabbitListener(
+            queues = "QUEUE_DELETE_S3_FILE",
+            concurrency = "3"
+    )
+    public void buildScenePreHandler(Channel channel, Message message) throws Exception {
+        String num = new String(message.getBody(), StandardCharsets.UTF_8);
+        log.info("mq监听,删除s3无用资源开始,场景码:{}", num);
+        scenePlusService.deleteV3DirHandler(num);
+        log.info("mq监听,删除s3无用资源结束,场景码:{}", num);
+    }
+
+}

+ 2 - 154
4dkankan-task/src/main/java/com/fdkankan/task/schedule/ScheduleJob.java

@@ -5,19 +5,9 @@ import cn.hutool.core.date.DateField;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.io.FileUtil;
-import cn.hutool.core.net.multipart.UploadFile;
-import cn.hutool.core.util.StrUtil;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.fdkankan.common.constant.ConstantFilePath;
-import com.fdkankan.common.constant.UploadFilePath;
-import com.fdkankan.common.util.DateExtUtil;
 import com.fdkankan.fyun.oss.UploadToOssUtil;
-import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
-import com.fdkankan.task.entity.ScenePlus;
-import com.fdkankan.task.entity.ScenePlusExt;
 import com.fdkankan.task.entity.ScenePro;
 import com.fdkankan.task.service.IScenePlusExtService;
 import com.fdkankan.task.service.IScenePlusService;
@@ -28,35 +18,18 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
-import javax.annotation.PostConstruct;
-import java.io.File;
-import java.io.IOException;
-import java.nio.charset.StandardCharsets;
 import java.util.Calendar;
 import java.util.List;
 import java.util.Objects;
-import java.util.Set;
-import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
 
 @Slf4j
 @Component
 public class ScheduleJob {
 
-    private static String indexKey = "deleteV3Dir:index";
-    private static String numKey = "deleteV3Dir:num";
-    private static String deleteNumKey = "deleteSceneDir:num";
-    private static String dataPathFormat = "data/data%s/";
-    private static String imgPathFormat = "images/images%s/";
-    private static String videoPathFormat = "video/video%s/";
-    private static String voicePathFormat = "voice/voice%s/";
-
     @Value("${userId:}")
     private Long userId;
-    @Value("${oss.bucket}")
-    private String bucket;
 
     @Autowired
     private ISceneProService sceneProService;
@@ -92,7 +65,7 @@ public class ScheduleJob {
             String num = scenePro.getNum();
             try {
                 executorService.submit(()->{
-                    deleteV3DirHandler(num);
+                    scenePlusService.deleteV3DirHandler(num);
                 });
             }catch (Exception e){
                 log.error("删除v3目录失败,num" + num, e);
@@ -107,12 +80,11 @@ public class ScheduleJob {
         if(CollUtil.isEmpty(list)){
             return;
         }
-        Set<String> deleteNums = redisUtil.sGet(deleteNumKey);
         for (ScenePro scenePro : list) {
             String num = scenePro.getNum();
             try {
                 executorService.submit(()->{
-                    deleteSceneHandler(num);
+                    scenePlusService.deleteSceneHandler(num);
                 });
             }catch (Exception e){
                 log.error("删除场景全部数据失败,num:" + num, e);
@@ -124,130 +96,6 @@ public class ScheduleJob {
     }
 
 
-    public void deleteV3DirHandler(String num){
-
-        try {
-            log.info("删除v3目录开始,num:{}", num);
-
-            String dataPath = String.format(dataPathFormat, num);
-
-            ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
-            ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
-
-            String dataViewPath = String.format(UploadFilePath.DATA_VIEW_PATH, num);
-            String sceneJsonPath = dataViewPath + "scene.json";
-            if(StrUtil.isNotEmpty(scenePlusExt.getVideos()) && scenePlusExt.getVideos().contains(dataPath)){
-                scenePlusExt.setVideos(scenePlusExt.getVideos().replaceAll(dataPath, dataViewPath));
-                scenePlusExtService.updateById(scenePlusExt);
-                String sceneJson = uploadToOssUtil.getObjectContent(bucket, sceneJsonPath);
-                JSONObject sceneJsonObj = JSON.parseObject(sceneJson);
-                sceneJsonObj.put("videos", JSON.parseObject(scenePlusExt.getVideos()));
-                uploadToOssUtil.upload(sceneJsonObj.toJSONString().getBytes(), sceneJsonPath);
-                redisUtil.del(String.format(RedisKey.SCENE_JSON, num));
-            }
-
-            //删除data目录
-            List<String> dataList = uploadToOssUtil.listKeys(dataPath);
-            if(CollUtil.isNotEmpty(dataList)){
-                uploadToOssUtil.deleteFile(dataPath);
-            }
-
-            //删除img目录
-            String imgPath = String.format(imgPathFormat, num);
-            List<String> imgList = uploadToOssUtil.listKeys(imgPath);
-            if(CollUtil.isNotEmpty(imgList)){
-                uploadToOssUtil.deleteFile(imgPath);
-            }
-
-            //删除video目录
-            String videoPath = String.format(videoPathFormat, num);
-            List<String> videoList = uploadToOssUtil.listKeys(videoPath);
-            if(CollUtil.isNotEmpty(videoList)){
-                uploadToOssUtil.deleteFile(videoPath);
-            }
-
-            //删除voice目录
-            String voicePath = String.format(voicePathFormat, num);
-            List<String> voiceList = uploadToOssUtil.listKeys(voicePath);
-            if(CollUtil.isNotEmpty(voiceList)){
-                uploadToOssUtil.deleteFile(voicePath);
-            }
-
-            redisUtil.sSet(numKey, num);
-
-            log.info("删除v3目录完毕,num:{}", num);
-        }catch (Exception e){
-            log.info("删除v3目录失败,num:" + num, e);
-        }
-    }
-
-
-    public void deleteSceneHandler(String num){
-
-        try {
-            log.info("删除场景全部数据开始,num:{}", num);
-            //删除data目录
-            String dataPath = String.format(dataPathFormat, num);
-            List<String> dataList = uploadToOssUtil.listKeys(dataPath);
-            if(CollUtil.isNotEmpty(dataList)){
-                uploadToOssUtil.deleteFile(dataPath);
-            }
-
-            //删除img目录
-            String imgPath = String.format(imgPathFormat, num);
-            List<String> imgList = uploadToOssUtil.listKeys(imgPath);
-            if(CollUtil.isNotEmpty(imgList)){
-                uploadToOssUtil.deleteFile(imgPath);
-            }
-
-            //删除video目录
-            String videoPath = String.format(videoPathFormat, num);
-            List<String> videoList = uploadToOssUtil.listKeys(videoPath);
-            if(CollUtil.isNotEmpty(videoList)){
-                uploadToOssUtil.deleteFile(videoPath);
-            }
-
-            //删除voice目录
-            String voicePath = String.format(voicePathFormat, num);
-            List<String> voiceList = uploadToOssUtil.listKeys(voicePath);
-            if(CollUtil.isNotEmpty(voiceList)){
-                uploadToOssUtil.deleteFile(voicePath);
-            }
-
-            //删除dataview目录
-            String dataViewPath = String.format(UploadFilePath.DATA_VIEW_PATH, num);
-            List<String> dataViewList = uploadToOssUtil.listKeys(dataViewPath);
-            if(CollUtil.isNotEmpty(dataViewList)){
-                uploadToOssUtil.deleteFile(dataViewPath);
-            }
-
-            //删除img目录
-            String imgViewPath = String.format(UploadFilePath.IMG_VIEW_PATH, num);
-            List<String> imgViewList = uploadToOssUtil.listKeys(imgViewPath);
-            if(CollUtil.isNotEmpty(imgViewList)){
-                uploadToOssUtil.deleteFile(imgViewPath);
-            }
-
-            //删除video目录
-            String videoViewPath = String.format(UploadFilePath.VIDEOS_VIEW_PATH, num);
-            List<String> videoViewList = uploadToOssUtil.listKeys(videoViewPath);
-            if(CollUtil.isNotEmpty(videoViewList)){
-                uploadToOssUtil.deleteFile(videoViewPath);
-            }
-
-            //删除voice目录
-            String voiceViewPath = String.format(UploadFilePath.VOICE_VIEW_PATH, num);
-            List<String> voiceViewList = uploadToOssUtil.listKeys(voiceViewPath);
-            if(CollUtil.isNotEmpty(voiceViewList)){
-                uploadToOssUtil.deleteFile(voiceViewPath);
-            }
-
-            redisUtil.sSet(deleteNumKey, num);
-            log.info("删除场景全部数据结束,num:{}", num);
-        }catch (Exception e){
-            log.error("删除场景全部数据失败,num:" + num, e);
-        }
-    }
 
     public static void main(String[] args) {
 

+ 4 - 0
4dkankan-task/src/main/java/com/fdkankan/task/service/IScenePlusService.java

@@ -15,6 +15,10 @@ public interface IScenePlusService extends IService<ScenePlus> {
 
     ScenePlus getScenePlusByNum(String num);
 
+    void deleteV3DirHandler(String num);
+
+    void deleteSceneHandler(String num);
+
 
 
 

+ 165 - 0
4dkankan-task/src/main/java/com/fdkankan/task/service/impl/ScenePlusServiceImpl.java

@@ -1,13 +1,27 @@
 package com.fdkankan.task.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.common.constant.UploadFilePath;
+import com.fdkankan.fyun.oss.UploadToOssUtil;
+import com.fdkankan.redis.constant.RedisKey;
+import com.fdkankan.redis.util.RedisUtil;
+import com.fdkankan.task.constant.TaskConstant;
 import com.fdkankan.task.entity.ScenePlus;
+import com.fdkankan.task.entity.ScenePlusExt;
 import com.fdkankan.task.mapper.IScenePlusMapper;
+import com.fdkankan.task.service.IScenePlusExtService;
 import com.fdkankan.task.service.IScenePlusService;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 场景主表 服务实现类
@@ -20,9 +34,160 @@ import org.springframework.stereotype.Service;
 @Service
 public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlus> implements IScenePlusService {
 
+    @Autowired
+    private IScenePlusExtService scenePlusExtService;
+    @Autowired
+    private UploadToOssUtil uploadToOssUtil;
+    @Autowired
+    private RedisUtil redisUtil;
+
     @Override
     public ScenePlus getScenePlusByNum(String num) {
         return this.getOne(new LambdaQueryWrapper<ScenePlus>().eq(ScenePlus::getNum, num));
     }
 
+    public void deleteV3DirHandler(String num){
+
+        try {
+            log.info("删除v3目录开始,num:{}", num);
+
+            String dataPath = String.format(TaskConstant.dataPathFormat, num);
+
+            ScenePlus scenePlus = this.getScenePlusByNum(num);
+            ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
+            String bucket = scenePlusExt.getYunFileBucket();
+
+            String dataViewPath = String.format(UploadFilePath.DATA_VIEW_PATH, num);
+            String sceneJsonPath = dataViewPath + "scene.json";
+            if(StrUtil.isNotEmpty(scenePlusExt.getVideos()) && scenePlusExt.getVideos().contains(dataPath)){
+                scenePlusExt.setVideos(scenePlusExt.getVideos().replaceAll(dataPath, dataViewPath));
+                scenePlusExtService.updateById(scenePlusExt);
+                String sceneJson = uploadToOssUtil.getObjectContent(bucket, sceneJsonPath);
+                JSONObject sceneJsonObj = JSON.parseObject(sceneJson);
+                sceneJsonObj.put("videos", JSON.parseObject(scenePlusExt.getVideos()));
+                uploadToOssUtil.upload(bucket, sceneJsonObj.toJSONString().getBytes(), sceneJsonPath);
+                redisUtil.del(String.format(RedisKey.SCENE_JSON, num));
+            }
+
+            //删除data目录
+            List<String> dataList = uploadToOssUtil.listKeys(bucket, dataPath);
+            if(CollUtil.isNotEmpty(dataList)){
+                uploadToOssUtil.deleteFile(bucket, dataPath);
+            }
+
+            //删除img目录
+            String imgPath = String.format(TaskConstant.imgPathFormat, num);
+            List<String> imgList = uploadToOssUtil.listKeys(bucket, imgPath);
+            if(CollUtil.isNotEmpty(imgList)){
+                uploadToOssUtil.deleteFile(bucket, imgPath);
+            }
+
+            //删除video目录
+            String videoPath = String.format(TaskConstant.videoPathFormat, num);
+            List<String> videoList = uploadToOssUtil.listKeys(bucket, videoPath);
+            if(CollUtil.isNotEmpty(videoList)){
+                uploadToOssUtil.deleteFile(bucket, videoPath);
+            }
+
+            //删除voice目录
+            String voicePath = String.format(TaskConstant.voicePathFormat, num);
+            List<String> voiceList = uploadToOssUtil.listKeys(bucket, voicePath);
+            if(CollUtil.isNotEmpty(voiceList)){
+                uploadToOssUtil.deleteFile(bucket, voicePath);
+            }
+
+            redisUtil.sSet(TaskConstant.numKey, num);
+
+            log.info("删除v3目录完毕,num:{}", num);
+        }catch (Exception e){
+            log.info("删除v3目录失败,num:" + num, e);
+        }
+    }
+
+    public void deleteSceneHandler(String num){
+
+        try {
+            log.info("删除场景全部数据开始,num:{}", num);
+
+            ScenePlus scenePlus = this.getScenePlusByNum(num);
+            ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
+            String bucket = scenePlusExt.getYunFileBucket();
+
+            //删除data目录
+            String dataPath = String.format(TaskConstant.dataPathFormat, num);
+            List<String> dataList = uploadToOssUtil.listKeys(bucket, dataPath);
+            if(CollUtil.isNotEmpty(dataList)){
+                uploadToOssUtil.deleteFile(bucket, dataPath);
+            }
+
+            //删除img目录
+            String imgPath = String.format(TaskConstant.imgPathFormat, num);
+            List<String> imgList = uploadToOssUtil.listKeys(bucket, imgPath);
+            if(CollUtil.isNotEmpty(imgList)){
+                uploadToOssUtil.deleteFile(bucket, imgPath);
+            }
+
+            //删除video目录
+            String videoPath = String.format(TaskConstant.videoPathFormat, num);
+            List<String> videoList = uploadToOssUtil.listKeys(bucket, videoPath);
+            if(CollUtil.isNotEmpty(videoList)){
+                uploadToOssUtil.deleteFile(bucket, videoPath);
+            }
+
+            //删除voice目录
+            String voicePath = String.format(TaskConstant.voicePathFormat, num);
+            List<String> voiceList = uploadToOssUtil.listKeys(bucket, voicePath);
+            if(CollUtil.isNotEmpty(voiceList)){
+                uploadToOssUtil.deleteFile(bucket, voicePath);
+            }
+
+            //删除dataview目录
+            String dataViewPath = String.format(UploadFilePath.DATA_VIEW_PATH, num);
+            List<String> dataViewList = uploadToOssUtil.listKeys(bucket, dataViewPath);
+            if(CollUtil.isNotEmpty(dataViewList)){
+                uploadToOssUtil.deleteFile(bucket, dataViewPath);
+            }
+
+            //删除img目录
+            String imgViewPath = String.format(UploadFilePath.IMG_VIEW_PATH, num);
+            List<String> imgViewList = uploadToOssUtil.listKeys(bucket, imgViewPath);
+            if(CollUtil.isNotEmpty(imgViewList)){
+                uploadToOssUtil.deleteFile(bucket, imgViewPath);
+            }
+
+            //删除video目录
+            String videoViewPath = String.format(UploadFilePath.VIDEOS_VIEW_PATH, num);
+            List<String> videoViewList = uploadToOssUtil.listKeys(bucket, videoViewPath);
+            if(CollUtil.isNotEmpty(videoViewList)){
+                uploadToOssUtil.deleteFile(bucket, videoViewPath);
+            }
+
+            //删除voice目录
+            String voiceViewPath = String.format(UploadFilePath.VOICE_VIEW_PATH, num);
+            List<String> voiceViewList = uploadToOssUtil.listKeys(bucket, voiceViewPath);
+            if(CollUtil.isNotEmpty(voiceViewList)){
+                uploadToOssUtil.deleteFile(bucket, voiceViewPath);
+            }
+
+            //删除user目录
+            String userViewPath = String.format(UploadFilePath.USER_VIEW_PATH, num);
+            List<String> userViewList = uploadToOssUtil.listKeys(bucket, userViewPath);
+            if(CollUtil.isNotEmpty(userViewList)){
+                uploadToOssUtil.deleteFile(bucket, userViewPath);
+            }
+
+            //删除user目录
+            String userEditPath = String.format(UploadFilePath.USER_EDIT_PATH, num);
+            List<String> userEditList = uploadToOssUtil.listKeys(bucket, userEditPath);
+            if(CollUtil.isNotEmpty(userEditList)){
+                uploadToOssUtil.deleteFile(bucket, userEditPath);
+            }
+
+            redisUtil.sSet(TaskConstant.deleteNumKey, num);
+            log.info("删除场景全部数据结束,num:{}", num);
+        }catch (Exception e){
+            log.error("删除场景全部数据失败,num:" + num, e);
+        }
+    }
+
 }

+ 3 - 3
4dkankan-task/src/main/resources/bootstrap.yml

@@ -22,9 +22,9 @@ spring:
             group: DEFAULT_GROUP
             refresh: true
 
-#          - data-id: common-rabbitmq-config.yaml
-#            group: DEFAULT_GROUP
-#            refresh: true
+          - data-id: common-rabbitmq-config.yaml
+            group: DEFAULT_GROUP
+            refresh: true
 
           - data-id: other-config.yaml
             group: DEFAULT_GROUP