|
@@ -30,6 +30,7 @@ import org.springframework.stereotype.Service;
|
|
|
import java.io.File;
|
|
|
import java.io.FileOutputStream;
|
|
|
import java.nio.charset.StandardCharsets;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.HashSet;
|
|
|
import java.util.List;
|
|
|
|
|
@@ -217,6 +218,8 @@ public class CaseDownService {
|
|
|
CaseParam param = new CaseParam();
|
|
|
param.setCaseId(caseId);
|
|
|
|
|
|
+ HashMap<String,String> replaceMap = new HashMap<>();
|
|
|
+
|
|
|
//设置案件信息
|
|
|
jsonObject.put(basePath+caseInfo+caseId, ResultData.ok(caseService.getInfo(caseId,false)));
|
|
|
|
|
@@ -243,6 +246,7 @@ public class CaseDownService {
|
|
|
|
|
|
List<SceneVo> sceneVos = caseService.sceneList(param);
|
|
|
for (SceneVo sceneData : sceneVos) {
|
|
|
+ addReplaceMap(sceneData,replaceMap);
|
|
|
//下载模型
|
|
|
if(StringUtils.isNotBlank(sceneData.getModelGlbUrl())){
|
|
|
downModel(caseId,sceneData.getModelGlbUrl());
|
|
@@ -380,11 +384,26 @@ public class CaseDownService {
|
|
|
|
|
|
String jsonString = JSON.toJSONString(jsonObject);
|
|
|
jsonString = jsonString.replaceAll(queryPath,"http://127.0.0.1:9000/oss/");
|
|
|
+ if(!replaceMap.isEmpty()){
|
|
|
+ for (String key : replaceMap.keySet()) {
|
|
|
+ jsonString = jsonString.replaceAll(key,replaceMap.get(key));
|
|
|
+ }
|
|
|
+ }
|
|
|
FileUtil.writeString(jsonString, FilePath.OFFLINE_PACKAGE_PATH+caseId+"/www/package/"+jsonDataName,"UTF-8");
|
|
|
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ private void addReplaceMap(SceneVo sceneData,HashMap<String,String> map) {
|
|
|
+ if(StringUtils.isNotBlank(sceneData.getCutModelPath())){
|
|
|
+ map.put(sceneData.getCutModelPath(),sceneData.getCutModelPath().replace("/oss/","/swkk/"+sceneData.getNum()+"/wwwroot/"));
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotBlank(sceneData.getSurveillancePath())){
|
|
|
+ map.put(sceneData.getSurveillancePath(),sceneData.getSurveillancePath().replace("/oss/","/swkk/"+sceneData.getNum()+"/wwwroot/"));
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotBlank(sceneData.getSceneJsonPath())){
|
|
|
+ map.put(sceneData.getSceneJsonPath(),sceneData.getSceneJsonPath().replace("/oss/","/swkk/"+sceneData.getNum()+"/wwwroot/"));
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
//http://127.0.0.1:8080/offline.html?caseId=362&app=1&share=1#/show/summary
|