Bläddra i källkod

全景图单张下载不打zip包

dengsixing 3 år sedan
förälder
incheckning
5aa607e414

+ 8 - 8
4dkankan-center-scene/src/main/java/com/fdkankan/scene/listener/BuildScenePreMQListener.java

@@ -36,14 +36,14 @@ import org.springframework.stereotype.Component;
  * @date 2022/2/23
  **/
 @Slf4j
-@Component
-@RocketMQMessageListener(
-        consumerGroup = "${rocketmq.consumer.build-scene-pre-group}",
-        topic = "${rocketmq.build-scene.topicName.topic-modeling-a-pre}",
-        messageModel = MessageModel.CLUSTERING,//负载均衡模式
-        consumeThreadMax = 10,
-        consumeTimeout = 172801000L
-)
+//@Component
+//@RocketMQMessageListener(
+//        consumerGroup = "${rocketmq.consumer.build-scene-pre-group}",
+//        topic = "${rocketmq.build-scene.topicName.topic-modeling-a-pre}",
+//        messageModel = MessageModel.CLUSTERING,//负载均衡模式
+//        consumeThreadMax = 10,
+//        consumeTimeout = 172801000L
+//)
 public class BuildScenePreMQListener implements RocketMQListener<String> {
 
 

+ 6 - 6
4dkankan-center-scene/src/main/java/com/fdkankan/scene/listener/BuildSceneResultMQListener.java

@@ -65,12 +65,12 @@ import org.springframework.transaction.annotation.Transactional;
  * @date 2022/2/23
  **/
 @Slf4j
-@Component
-@RocketMQMessageListener(
-        consumerGroup = "${rocketmq.consumer.build-scene-result-group}",
-        topic = "${rocketmq.build-scene-result.topicName.topic-modeling-a}",
-        messageModel = MessageModel.CLUSTERING//负载均衡模式
-)
+//@Component
+//@RocketMQMessageListener(
+//        consumerGroup = "${rocketmq.consumer.build-scene-result-group}",
+//        topic = "${rocketmq.build-scene-result.topicName.topic-modeling-a}",
+//        messageModel = MessageModel.CLUSTERING//负载均衡模式
+//)
 public class BuildSceneResultMQListener implements RocketMQListener<String> {
 
     @Value("${rocketmq.consumer.build-scene-result-group}")

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

@@ -963,17 +963,22 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         String cacheFormat = "downloads/scene/%s/caches/";
         String cacheImageFormat = "downloads/scene/%s/caches/images/";
 
+        String url = null;
+        String downloadName = null;
         //删除本地文件
         FileUtils.deleteDirectory(localImagesPath);
         //如果入参文件名不为空,则是单个文件下载,不需要打包
+        boolean single = true;
         if(StrUtil.isNotEmpty(fileName)){
-            //先下载到本地
-            if (!StorageType.LOCAL.code().equals(this.type)) {// TODO: 2022/2/15 这里有可能有问题,可能还需要考虑本地部署的情况
+            //如果是单张图片,直接提供oss url
+            if (!StorageType.LOCAL.code().equals(this.type)) {
                 String filePath = imgCachePath + fileName;
-                String imageUrl = ossUrlPrefix + filePath + "?t=" + System.currentTimeMillis();
-                FileUtils.downLoadFromUrl(imageUrl, fileName, localImagesPath);
+                url = ossUrlPrefix + filePath;
+//                FileUtils.downLoadFromUrl(imageUrl, fileName, localImagesPath);
             }
+            downloadName = fileName;
         }else{
+            single = false;
             //先下载到本地
             List<String> keyList = uploadToOssUtil.listKeys(imgCachePath);
             if (!StorageType.LOCAL.code().equals(this.type)) {// TODO: 2022/2/15 这里有可能有问题,可能还需要考虑本地部署的情况
@@ -985,22 +990,23 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             }
         }
 
-        //打包
-        String zipName = num + "_images.zip";
-        String zipPath = cachePath + zipName;
-        FileUtils.zipFile(zipPath, localImagesPath);
-        //上传压缩包
-        uploadToOssUtil.upload(zipPath, String.format(cacheFormat, num) + zipName);
-        String url = ossUrlPrefix + String.format(cacheFormat, num) + zipName + "?t=" + Calendar.getInstance().getTimeInMillis();
-
-        //删除本地压缩包
-        FileUtils.deleteFile(zipPath);
-        //删除本地目录
-        FileUtils.deleteDirectory(localImagesPath);
+        if(!single){
+            downloadName = num + "_images.zip";
+            //打包
+            String zipPath = cachePath + downloadName;
+            FileUtils.zipFile(zipPath, localImagesPath);
+            //上传压缩包
+            uploadToOssUtil.upload(zipPath, String.format(cacheFormat, num) + downloadName);
+            url = ossUrlPrefix + String.format(cacheFormat, num) + downloadName;
+            //删除本地压缩包
+            FileUtils.deleteFile(zipPath);
+            //删除本地目录
+            FileUtils.deleteDirectory(localImagesPath);
+        }
 
         Map<String, Object> map = new HashMap<>();
         map.put("fileUrl", url + "?t=" + System.currentTimeMillis());
-        map.put("fileName", zipName);
+        map.put("fileName", downloadName);
         return ResultData.ok(map);
     }
 

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

@@ -2944,6 +2944,8 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             return ResultData.error(ErrorCode.FAILURE_CODE_5005);
         }
         JSONArray visiblePanos = JSONArray.parseArray(param.getData());
+//        JSONArray visiblePanos = param.getData();
+//        JSONObject jsonObject = JSONArray.parseObject(param.getData());
 
         //从缓存中获取热点数据,如果为空,抛出异常
         String key = String.format(RedisKey.SCENE_HOT_DATA, param.getNum());
@@ -2964,7 +2966,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             visiblePanos.stream().forEach(item->{
                 if (hot.getString("sid").equals(((JSONObject) item).getString("sid"))) {
                     hot.put("visiblePanos", ((JSONObject) item).getJSONArray("value"));
-                    hot.put("isHidden", ((JSONObject) item).getJSONArray("isHidden"));
+                    hot.put("isHidden", ((JSONObject) item).getBoolean("isHidden"));
                     entry.setValue(hot.toJSONString());
                 }
             });

+ 3 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/SaveTagsVisibleParamVO.java

@@ -1,5 +1,6 @@
 package com.fdkankan.scene.vo;
 
+import com.alibaba.fastjson.JSONArray;
 import javax.validation.constraints.NotBlank;
 import lombok.Data;
 
@@ -20,4 +21,6 @@ public class SaveTagsVisibleParamVO {
     @NotBlank(message = "热点可视数据不能为空")
     private String data;
 
+//    private JSONArray data;
+
 }