|
@@ -19,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.io.File;
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -56,15 +57,15 @@ public class AliOssServiceImpl implements AliOssService {
|
|
|
// 2.下载someData.json
|
|
|
downloadSomeDataJson(workId);
|
|
|
|
|
|
- // 3.下载场景
|
|
|
- downloadScenes(param);
|
|
|
-
|
|
|
- // 4. 获取导览图集合
|
|
|
+ // 4. 获取导览图集合, key:场景码
|
|
|
HashMap<String, String> guideThumbs = getGuideThumbBySomeData(workId);
|
|
|
|
|
|
// 5.下载导览图
|
|
|
downloadGuideThumb(guideThumbs, workId);
|
|
|
|
|
|
+ // 3.下载场景
|
|
|
+ downloadScenes(guideThumbs, workId, param.getEvn());
|
|
|
+
|
|
|
// 6.压缩zip
|
|
|
zipWork(workId);
|
|
|
String outPath = configConstant.serverBasePath + "/download/" + workId +".zip";
|
|
@@ -88,27 +89,47 @@ public class AliOssServiceImpl implements AliOssService {
|
|
|
|
|
|
/**
|
|
|
* 下载场景目录
|
|
|
- * @param param
|
|
|
*/
|
|
|
- private void downloadScenes(YunDto param){
|
|
|
- List<String> sceneCodes = param.getSceneCodes();
|
|
|
+ private void downloadScenes(List<String> sceneCodes, String workId, String evn){
|
|
|
log.info("输入场景码数量: {}", sceneCodes.size());
|
|
|
|
|
|
- String bucket = bucketMap.get(param.getEvn());
|
|
|
+ String bucket = bucketMap.get(evn);
|
|
|
BaseRuntimeException.isNull(bucket, null, "bucket环境不能为空");
|
|
|
|
|
|
int i = 1;
|
|
|
for (String sceneCode : sceneCodes) {
|
|
|
- downloadOss(sceneCode, bucket, param.getWorkId());
|
|
|
+ downloadOss(sceneCode, bucket, workId);
|
|
|
+ log.info("第:{} 下载完成, 场景为:{}", i, sceneCode);
|
|
|
+ i++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 下载场景目录
|
|
|
+ */
|
|
|
+ private void downloadScenes(HashMap<String, String> guideThumbs, String workId, String evn){
|
|
|
+ log.info("输入场景码数量: {}", guideThumbs.size());
|
|
|
+
|
|
|
+ String bucket = bucketMap.get(evn);
|
|
|
+ BaseRuntimeException.isNull(bucket, null, "bucket环境不能为空");
|
|
|
+
|
|
|
+ int i = 1;
|
|
|
+ for (Map.Entry<String, String> entry : guideThumbs.entrySet()) {
|
|
|
+ String sceneCode = entry.getKey();
|
|
|
+ downloadOss(sceneCode, bucket, workId);
|
|
|
log.info("第:{} 下载完成, 场景为:{}", i, sceneCode);
|
|
|
i++;
|
|
|
}
|
|
|
+ log.info("场景已下载完成");
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 2022-5-30
|
|
|
* 建议前端将导览图片固定命名
|
|
|
* 通过读取someData.json获取导图图片
|
|
|
+ * key:场景码
|
|
|
*
|
|
|
* @param workId
|
|
|
*/
|
|
@@ -122,6 +143,7 @@ public class AliOssServiceImpl implements AliOssService {
|
|
|
for (Object scene : scenes) {
|
|
|
// 场景对象
|
|
|
JSONObject row = JSONObject.parseObject(scene.toString());
|
|
|
+ // key:场景码
|
|
|
resMap.put(row.getString("sceneCode"), row.getString("icon"));
|
|
|
}
|
|
|
log.info("处理导览图片完成, 图片数量: {}", resMap.size());
|