|
@@ -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.HashSet;
|
|
|
import java.util.List;
|
|
|
|
|
|
@Service
|
|
@@ -62,6 +63,8 @@ public class CaseDownService {
|
|
|
public static String caseImg = "/caseImg/getFfmpegImage?caseId=";
|
|
|
|
|
|
public static String laserData = "/laser/dataset/%s/getDataSet";
|
|
|
+ public static String laserDataQuery = "/laser/filter/%s/query?datasetId=%s";
|
|
|
+
|
|
|
|
|
|
@Autowired
|
|
|
ICaseService caseService;
|
|
@@ -127,7 +130,7 @@ public class CaseDownService {
|
|
|
if( redisUtil.hasKey(redisKey)){
|
|
|
String res = redisUtil.get(redisKey);
|
|
|
DownloadProcessVo downloadProcessVo = JSONObject.parseObject(res, DownloadProcessVo.class);
|
|
|
- if(downloadProcessVo.getPercent()== null || downloadProcessVo.getPercent() != 100){
|
|
|
+ if(downloadProcessVo.getStatus() != 1003 && (downloadProcessVo.getPercent()== null || downloadProcessVo.getPercent() != 100)){
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
@@ -221,6 +224,7 @@ public class CaseDownService {
|
|
|
}
|
|
|
if(sceneData.getType() == 2 || sceneData.getType() == 5){
|
|
|
FdkkResponse sceneInfo = laserService.getSceneInfo(sceneData.getNum());
|
|
|
+ HashSet<String> dataSetIds = new HashSet<>();
|
|
|
if(sceneInfo != null){
|
|
|
JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(sceneInfo.getData()));
|
|
|
JSONArray newJsonArray = new JSONArray();
|
|
@@ -231,9 +235,17 @@ public class CaseDownService {
|
|
|
sceneInfoObj.put("oldWebBin",oldPath);
|
|
|
sceneInfoObj.put("webBin",newPath + oldPath);
|
|
|
newJsonArray.add(sceneInfoObj);
|
|
|
+ dataSetIds.add( sceneInfoObj.getString("id"));
|
|
|
}
|
|
|
sceneInfo.setData(newJsonArray);
|
|
|
jsonObject.put(String.format(laserData,sceneData.getNum()),sceneInfo);
|
|
|
+ if(!dataSetIds.isEmpty()){
|
|
|
+ for (String dataSetId : dataSetIds) {
|
|
|
+ FdkkResponse sceneInfo2 = laserService.getSceneInfoQuery(sceneData.getNum(),dataSetId);
|
|
|
+ jsonObject.put(String.format(laserDataQuery,sceneData.getNum(),dataSetId),sceneInfo2);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -266,8 +278,7 @@ public class CaseDownService {
|
|
|
|
|
|
List<CaseFiles> caseFilesList = caseFilesService.allList(caseId, null);
|
|
|
for (CaseFiles files : caseFilesList) {
|
|
|
- String fileUrl = String.format(FilePath.File_OSS_PATH,environment,files.getFilesId());
|
|
|
- downResource(caseId,queryPath +fileUrl);
|
|
|
+ downResource(caseId,files.getFilesUrl());
|
|
|
}
|
|
|
jsonObject.put(basePath+caseFiles+caseId, ResultData.ok(caseFilesList));
|
|
|
|
|
@@ -418,9 +429,12 @@ public class CaseDownService {
|
|
|
JSONArray jsonArray = JSONArray.parseArray(modelGlbUrl);
|
|
|
for (Object object : jsonArray) {
|
|
|
String res = (String) object;
|
|
|
+ log.info("下载模型:{}",res);
|
|
|
res = res.replace(queryPath, "");
|
|
|
- File file = new File(res);
|
|
|
- ShellUtil.yunDownload(file.getParentFile().getPath(), path +queryPath + file.getParentFile().getPath());
|
|
|
+ if(res.contains(".json") || res.contains(".shp")){
|
|
|
+ res = new File(res).getParentFile().getPath();
|
|
|
+ }
|
|
|
+ ShellUtil.yunDownload(res, path +queryPath + res);
|
|
|
}
|
|
|
}
|
|
|
public void downResources(Integer caseId,String urls) {
|