|
@@ -60,6 +60,7 @@ public class CaseDownService {
|
|
|
public static String fusionMeter = "/fusionMeter/allList?fusionId=";
|
|
|
|
|
|
public static String model = "/model/getInfo?modelId=";
|
|
|
+ public static String caseImg = "/caseImg/getFfmpegImage?caseId=";
|
|
|
|
|
|
public static String laserData = "/laser/dataset/%s/getDataSet";
|
|
|
|
|
@@ -101,19 +102,23 @@ public class CaseDownService {
|
|
|
LaserService laserService;
|
|
|
@Autowired
|
|
|
ICaseOfflineService caseOfflineService;
|
|
|
+ @Autowired
|
|
|
+ ICaseImgService caseImgService;
|
|
|
|
|
|
@Autowired
|
|
|
RedisUtil redisUtil;
|
|
|
|
|
|
+ @Value("${spring.profiles.active}")
|
|
|
+ private String environment;
|
|
|
public static String downProcessKey = "fusion:down:offline:process:caseId:%s";
|
|
|
|
|
|
public DownVo checkDown(Integer caseId) {
|
|
|
DownVo downVo = new DownVo();
|
|
|
- CaseOffline byCaseId = caseOfflineService.getByCaseId(caseId);
|
|
|
- if(byCaseId != null){
|
|
|
- downVo.setDownloadStatus(3);
|
|
|
- downVo.setDownloadUrl(byCaseId.getOfflineUrl());
|
|
|
- }
|
|
|
+// CaseOffline byCaseId = caseOfflineService.getByCaseId(caseId);
|
|
|
+// if(byCaseId != null){
|
|
|
+// downVo.setDownloadStatus(3);
|
|
|
+// downVo.setDownloadUrl(byCaseId.getOfflineUrl());
|
|
|
+// }
|
|
|
return downVo;
|
|
|
}
|
|
|
@Async
|
|
@@ -146,6 +151,7 @@ public class CaseDownService {
|
|
|
ShellUtil.yunUpload(zipName,ossUrl);
|
|
|
Thread.sleep(2000L);
|
|
|
FileUtil.del(zipName);
|
|
|
+ ossUrl = queryPath + ossUrl;
|
|
|
caseOfflineService.saveByCase(caseId,ossUrl);
|
|
|
setRedisProcess(caseId,100,ossUrl);
|
|
|
}catch (Exception e){
|
|
@@ -169,7 +175,7 @@ public class CaseDownService {
|
|
|
DownloadProcessVo processVo = new DownloadProcessVo();
|
|
|
processVo.setStatus(status);
|
|
|
processVo.setPercent(num);
|
|
|
- processVo.setUrl(queryPath + url);
|
|
|
+ processVo.setUrl( url);
|
|
|
redisUtil.set(redisKey,JSONObject.toJSONString(processVo));
|
|
|
}
|
|
|
|
|
@@ -202,10 +208,11 @@ public class CaseDownService {
|
|
|
jsonObject.put(basePath+caseFusion+caseId, ResultData.ok(listByCaseId));
|
|
|
for (FusionNumVo fusion : listByCaseId) {
|
|
|
jsonObject.put(basePath+fusionMeter+fusion.getFusionId(), ResultData.ok(fusionMeterService.getListByFusionId(fusion.getFusionId(),null)));
|
|
|
- jsonObject.put(basePath+model+fusion.getModelId(), ResultData.ok(modelService.getInfo(fusion.getModelId())));
|
|
|
+ }
|
|
|
|
|
|
+ List<SceneVo> sceneVos = caseService.sceneList(param);
|
|
|
+ for (SceneVo sceneData : sceneVos) {
|
|
|
//下载模型
|
|
|
- SceneVo sceneData = fusion.getSceneData();
|
|
|
if(StringUtils.isNotBlank(sceneData.getModelGlbUrl())){
|
|
|
downModel(caseId,sceneData.getModelGlbUrl());
|
|
|
}
|
|
@@ -213,7 +220,7 @@ public class CaseDownService {
|
|
|
//下载场景离线包
|
|
|
downSwkk(caseId,sceneData.getNum(),sceneData.getType());
|
|
|
}
|
|
|
- if(sceneData.getType() == 5){
|
|
|
+ if(sceneData.getType() == 2 || sceneData.getType() == 5){
|
|
|
FdkkResponse sceneInfo = laserService.getSceneInfo(sceneData.getNum());
|
|
|
if(sceneInfo != null){
|
|
|
JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(sceneInfo.getData()));
|
|
@@ -231,9 +238,11 @@ public class CaseDownService {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+ if(sceneData.getModelId() != null){
|
|
|
+ jsonObject.put(basePath+model+sceneData.getModelId(), ResultData.ok(modelService.getInfo(sceneData.getModelId())));
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
- jsonObject.put(basePath+caseScene+caseId, ResultData.ok(caseService.sceneList(param)));
|
|
|
+ jsonObject.put(basePath+caseScene+caseId, ResultData.ok(sceneVos));
|
|
|
|
|
|
List<CaseView> caseViews = caseViewService.allList(caseId, null, null, null, null);
|
|
|
jsonObject.put(basePath+caseView+caseId, ResultData.ok(caseViews));
|
|
@@ -258,7 +267,8 @@ public class CaseDownService {
|
|
|
|
|
|
List<CaseFiles> caseFilesList = caseFilesService.allList(caseId, null);
|
|
|
for (CaseFiles files : caseFilesList) {
|
|
|
- downResource(caseId,files.getFilesUrl());
|
|
|
+ String fileUrl = String.format(FilePath.File_OSS_PATH,environment,files.getFilesId());
|
|
|
+ downResource(caseId,queryPath +fileUrl);
|
|
|
}
|
|
|
jsonObject.put(basePath+caseFiles+caseId, ResultData.ok(caseFilesList));
|
|
|
|
|
@@ -304,6 +314,9 @@ public class CaseDownService {
|
|
|
}
|
|
|
jsonObject.put(basePath+caseExtractDetail+caseId, ResultData.ok(caseExtractDetail1));
|
|
|
|
|
|
+ jsonObject.put(basePath+caseImg+caseId, ResultData.ok(caseImgService.getByCaseId(caseId,1)));
|
|
|
+
|
|
|
+
|
|
|
FileUtil.writeString(JSON.toJSONString(jsonObject), FilePath.OFFLINE_PACKAGE_PATH+caseId+"/www/package/"+jsonDataName,"UTF-8");
|
|
|
|
|
|
}
|