|
@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.io.FileUtil;
|
|
import cn.hutool.core.io.FileUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
+import cn.hutool.core.util.ZipUtil;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
@@ -29,6 +30,7 @@ import com.fdkankan.openApi.mapper.www.IScenePlusMapper;
|
|
import com.fdkankan.openApi.service.laser.FilterService;
|
|
import com.fdkankan.openApi.service.laser.FilterService;
|
|
import com.fdkankan.openApi.service.laser.SceneService;
|
|
import com.fdkankan.openApi.service.laser.SceneService;
|
|
import com.fdkankan.openApi.service.www.*;
|
|
import com.fdkankan.openApi.service.www.*;
|
|
|
|
+import com.fdkankan.openApi.vo.BaseSceneParamVo;
|
|
import com.fdkankan.openApi.vo.www.CreateFicTitiousSceneParamVO;
|
|
import com.fdkankan.openApi.vo.www.CreateFicTitiousSceneParamVO;
|
|
import com.fdkankan.openApi.vo.www.PageScenesParamVo;
|
|
import com.fdkankan.openApi.vo.www.PageScenesParamVo;
|
|
import com.fdkankan.openApi.vo.www.SceneEditControlsVO;
|
|
import com.fdkankan.openApi.vo.www.SceneEditControlsVO;
|
|
@@ -41,6 +43,7 @@ import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.util.ObjectUtils;
|
|
import org.springframework.util.ObjectUtils;
|
|
|
|
|
|
|
|
+import java.io.File;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -60,6 +63,8 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
|
|
private String mainUrl;
|
|
private String mainUrl;
|
|
@Value("${scene.pro.new.url}")
|
|
@Value("${scene.pro.new.url}")
|
|
private String sceneUrl;
|
|
private String sceneUrl;
|
|
|
|
+ @Value("#{'${camType.laser:}'.split(',')}")
|
|
|
|
+ private List<Integer> laserCamTypeList;
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private FYunFileServiceInterface fYunFileService;
|
|
private FYunFileServiceInterface fYunFileService;
|
|
@@ -415,4 +420,37 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
|
|
+ UploadFilePath.scene_result_data_path, sceneCode).concat("caches/images/")
|
|
+ UploadFilePath.scene_result_data_path, sceneCode).concat("caches/images/")
|
|
+ ((JSONObject) json).getString("uuid").concat(".jpg")).collect(Collectors.toList());
|
|
+ ((JSONObject) json).getString("uuid").concat(".jpg")).collect(Collectors.toList());
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public ResultData getSceneViewUserFile(String sceneCode, Long userId) {
|
|
|
|
+ ScenePlus scenePlus = this.getByNumAndUserId(userId, sceneCode);
|
|
|
|
+ if (ObjectUtils.isEmpty(scenePlus)) {
|
|
|
|
+ throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
|
|
|
|
+ }
|
|
|
|
+ if(Objects.isNull(scenePlus.getCameraId())){
|
|
|
|
+ throw new BusinessException(ErrorCode.FAILURE_CODE_7010);
|
|
|
|
+ }
|
|
|
|
+ CameraDetail cameraDetail = cameraDetailService.getByCameraId(scenePlus.getCameraId());
|
|
|
|
+ Integer cameraType = cameraDetail.getType();
|
|
|
|
+ if(laserCamTypeList.contains(cameraType)){
|
|
|
|
+ throw new BusinessException(ErrorCode.FAILURE_CODE_4004);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ String userOssPath = String.format(UploadFilePath.USER_VIEW_PATH, scenePlus.getNum());
|
|
|
|
+ List<String> userFileList = fYunFileService.listRemoteFiles(userOssPath);
|
|
|
|
+ if(CollUtil.isEmpty(userFileList)){
|
|
|
|
+ throw new BusinessException(ErrorCode.FAILURE_CODE_5027);
|
|
|
|
+ }
|
|
|
|
+ String userDowbloadPath = String.format(ConstantFilePath.OPENAPI_DOWNLOAD_PATH, scenePlus.getNum());
|
|
|
|
+ String userLocalPath = userDowbloadPath.concat("user");
|
|
|
|
+ String zipName = scenePlus.getNum().concat("_user.zip");
|
|
|
|
+ String usesZipPath = userDowbloadPath.concat(zipName);
|
|
|
|
+ fYunFileService.downloadFileByCommand(userLocalPath, userOssPath);
|
|
|
|
+
|
|
|
|
+ ZipUtil.zip(userLocalPath, usesZipPath);
|
|
|
|
+ String usesZipOssPath = String.format("downloads/scene/%s/user/", scenePlus.getNum()).concat(zipName);
|
|
|
|
+ fYunFileService.uploadFileByCommand(usesZipPath, usesZipOssPath);
|
|
|
|
+
|
|
|
|
+ return ResultData.ok(fYunFileConfig.getHost().concat(usesZipOssPath));
|
|
|
|
+ }
|
|
}
|
|
}
|