فهرست منبع

圆周率重定位改为单独压缩包上传

dengsixing 2 هفته پیش
والد
کامیت
962ab34b91

+ 107 - 61
src/main/java/com/fdkankan/contro/mq/listener/UploadSceneListener.java

@@ -1,9 +1,11 @@
 package com.fdkankan.contro.mq.listener;
 
 import cn.hutool.core.codec.Base64;
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.util.CharsetUtil;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.fdkankan.common.constant.ErrorCode;
@@ -38,6 +40,8 @@ import javax.annotation.Resource;
 import java.io.File;
 import java.nio.charset.StandardCharsets;
 import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
 
 @Slf4j
 @Component
@@ -66,6 +70,8 @@ public class UploadSceneListener {
     private ICommonService commonService;
     @Resource
     private RedisUtil redisUtil;
+    @Autowired
+    private IRelocationInitService relocationInitService;
 
 
 
@@ -84,6 +90,7 @@ public class UploadSceneListener {
         String num = jsonObject.getString("num");;
         String zipPath = jsonObject.getString("zipPath");
         String sourceType = jsonObject.getString("sourceType");
+        boolean relocation = jsonObject.getBooleanValue("relocation");
         String zipDir = FileUtil.getParent(zipPath, 1) + File.separator;
         String zipName = FileUtil.getName(zipPath);
         String uuid = FileUtil.getPrefix(zipName);
@@ -98,7 +105,11 @@ public class UploadSceneListener {
             }
             //资源包类型 orig-原始数据  offline 离线包
             if(UploadSceneSourceType.ORIG.getCode().equalsIgnoreCase(sourceType)){
-                this.uploadSceneOirg(num, zipDir + uuid);
+                if(relocation){
+
+                }else{
+                    this.uploadSceneOirg(num, zipDir + uuid);
+                }
             }
 
 //            if(UploadSceneSourceType.OFFLINE.getCode().equalsIgnoreCase(sourceType)){
@@ -144,78 +155,113 @@ public class UploadSceneListener {
         User user = userService.getById(userId);
         String params = snCode + "#" + fileId + "#" + uniCode;
         String encode = Base64.encode(RSAEncrypt.encrypt(RSAEncrypt.loadPublicKeyByStr(RSAEncrypt.loadPublicKeyByFile()), params.getBytes(StandardCharsets.UTF_8)));
-        if(camType == 9 || camType == 10 || camType == 11){
+        if(camType == 9 || camType == 10 || camType == 11 || camType == 12){
             sceneFileBuildService.turntableUploadSuccess(encode, user, true, false);
         }else{
             sceneFileBuildService.uploadSuccessBuild(encode, user, true, false);
         }
     }
 
-    private void uploadSceneOffline(String num, String sourcePath) throws Exception {
-        ScenePlus scenePlusDb = scenePlusService.getScenePlusByNum(num);
-        ScenePlusExt scenePlusExtDb = scenePlusExtService.getScenePlusExtByPlusId(scenePlusDb.getId());
-        NameFileFilter fileFilter = new NameFileFilter("scene.json");
-        File sceneJsonFile = FileUtil.loopFiles(sourcePath, fileFilter).get(0);
+    private void uploadSceneRelocation(String sourcePath) throws Exception {
+        NameFileFilter fileFilter = new NameFileFilter("data.fdage");
+        File dataFdageFile = FileUtil.loopFiles(sourcePath, fileFilter).stream().filter(v -> !v.getAbsolutePath().contains("/backup/")).findFirst().get();
 
         //去读data.fdage
-        if(sceneJsonFile != null && !sceneJsonFile.exists()){
-            throw new BusinessException(ErrorCode.FAILURE_CODE_4002.code(), ErrorCode.FAILURE_CODE_4002.formatMessage("scene.json"));
+        if(dataFdageFile != null && !dataFdageFile.exists()){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_4002.code(), ErrorCode.FAILURE_CODE_4002.formatMessage("data.fdage"));
         }
+        JSONObject dataFdageObj = JSONObject.parseObject(FileUtil.readUtf8String(dataFdageFile));
+        String snCode = dataFdageObj.getJSONObject("cam").getString("uuid");
+        String uuidTime = dataFdageObj.getString("uuidtime");
+        String uniCode = snCode + "_" + uuidTime;
+        String fileId = sceneFileBuildService.getFileId(snCode, uniCode);
+        String homePath = ConstantFilePath.OSS_PREFIX + snCode + File.separator + fileId + File.separator + uniCode + File.separator;
+        String fileDir = sourcePath + File.separator + uniCode;//本地版压缩包包含了一层unicode目录
+        fYunFileService.uploadFileByCommand(fileDir, homePath);
 
-        SceneJsonBean sceneJsonBean = JSONObject.parseObject(FileUtil.readUtf8String(sceneJsonFile), SceneJsonBean.class);
-        String sceneViewDataPath = "/oss/4dkankan/" + String.format(UploadFilePath.VIEW_PATH, num);
-        FileUtil.mkdir(sceneViewDataPath);
-        String cpCmd = "cp -p -r " + sourcePath  + "/env/wwwroot/scene_view_data/" + num +"/* " + sceneViewDataPath;
-        CmdUtils.callLineSh(cpCmd);
-
-        sceneJsonBean.setUploadType("offline");
-        String sceneJsonKey = String.format(UploadFilePath.DATA_VIEW_PATH, num) + "scene.json";
-        fYunFileService.uploadFile(JSON.toJSONString(sceneJsonBean).getBytes(StandardCharsets.UTF_8), sceneJsonKey);
-
-        String key = String.format(RedisKey.SCENE_JSON, num);
-        if(redisUtil.hasKey(key)){
-            redisUtil.del(key);
+        //判断是否是圆周率压缩包
+        //判断是否有重定位关系,如果有,推送到激光系统去做初始化处理
+        String sxUuid = dataFdageObj.getString("parentScene");
+        ScenePlus sxScenePlus = scenePlusService.getByFileId(sxUuid);
+        if(sxScenePlus == null){
+            throw new RuntimeException("深巡场景不存在或已删除");
         }
 
-        //容量统计
-        Long space = commonService.getSpace(num);
-
-        String sceneJsonStr = FileUtil.readUtf8String(sceneJsonFile);
-        ScenePlus scenePlus = JSON.parseObject(sceneJsonStr, ScenePlus.class);
-        scenePlus.setId(scenePlusDb.getId());
-        scenePlus.setSceneStatus(SceneStatus.NO_DISPLAY.code());
-        scenePlus.setPayStatus(PayStatus.PAY.code());
-        scenePlus.setCreateTime(null);
-        scenePlus.setUpdateTime(null);
-        scenePlusService.updateById(scenePlus);
-
-        ScenePlusExt scenePlusExt = JSON.parseObject(sceneJsonStr, ScenePlusExt.class);
-        scenePlusExt.setPlusId(scenePlusExtDb.getPlusId());
-        scenePlusExt.setId(scenePlusExtDb.getId());
-        scenePlusExt.setCreateTime(null);
-        scenePlusExt.setWebSite("/" + sceneProNewUrl + scenePlus.getNum());
-        scenePlusExt.setAlgorithmTime(new Date());
-        scenePlusExt.setSpace(space);
-        scenePlusExtService.updateById(scenePlusExt);
-
-        SceneEditInfo sceneEditInfo = JSON.parseObject(sceneJsonStr, SceneEditInfo.class);
-        sceneEditInfo.setId(null);
-        sceneEditInfo.setScenePlusId(scenePlusDb.getId());
-        sceneEditInfo.setCreateTime(null);
-        sceneEditInfoService.save(sceneEditInfo);
-
-        SceneEditInfoExt sceneEditInfoExt = JSON.parseObject(sceneJsonStr, SceneEditInfoExt.class);
-        sceneEditInfoExt.setId(null);
-        sceneEditInfoExt.setScenePlusId(scenePlusDb.getId());
-        sceneEditInfoExt.setEditInfoId(sceneEditInfo.getId());
-        sceneEditInfoExt.setCreateTime(null);
-        sceneEditInfoExtService.save(sceneEditInfoExt);
-
-        SceneEditControls sceneEditControls = JSON.parseObject(sceneJsonStr, SceneEditControls.class);
-        sceneEditControls.setId(null);
-        sceneEditControls.setEditInfoId(sceneEditInfo.getId());
-        sceneEditControls.setCreateTime(null);
-        sceneEditControlsService.save(sceneEditControls);
+        JSONArray points = dataFdageObj.getJSONArray("points");
+        List<String> relocationImages = points.stream().map(v -> homePath + "images" + File.separator + ((JSONObject) v).getString("name")).collect(Collectors.toList());
+        RelocationInit relocationInit = new RelocationInit();
+        relocationInit.setUnicode(sxUuid);
+        relocationInit.setNum(sxScenePlus.getNum());
+        relocationInit.setRelocationImages(relocationImages);
+        relocationInit.setImgSource("yzl");
+        relocationInitService.save(relocationInit);
     }
 
+//    private void uploadSceneOffline(String num, String sourcePath) throws Exception {
+//        ScenePlus scenePlusDb = scenePlusService.getScenePlusByNum(num);
+//        ScenePlusExt scenePlusExtDb = scenePlusExtService.getScenePlusExtByPlusId(scenePlusDb.getId());
+//        NameFileFilter fileFilter = new NameFileFilter("scene.json");
+//        File sceneJsonFile = FileUtil.loopFiles(sourcePath, fileFilter).get(0);
+//
+//        //去读data.fdage
+//        if(sceneJsonFile != null && !sceneJsonFile.exists()){
+//            throw new BusinessException(ErrorCode.FAILURE_CODE_4002.code(), ErrorCode.FAILURE_CODE_4002.formatMessage("scene.json"));
+//        }
+//
+//        SceneJsonBean sceneJsonBean = JSONObject.parseObject(FileUtil.readUtf8String(sceneJsonFile), SceneJsonBean.class);
+//        String sceneViewDataPath = "/oss/4dkankan/" + String.format(UploadFilePath.VIEW_PATH, num);
+//        FileUtil.mkdir(sceneViewDataPath);
+//        String cpCmd = "cp -p -r " + sourcePath  + "/env/wwwroot/scene_view_data/" + num +"/* " + sceneViewDataPath;
+//        CmdUtils.callLineSh(cpCmd);
+//
+//        sceneJsonBean.setUploadType("offline");
+//        String sceneJsonKey = String.format(UploadFilePath.DATA_VIEW_PATH, num) + "scene.json";
+//        fYunFileService.uploadFile(JSON.toJSONString(sceneJsonBean).getBytes(StandardCharsets.UTF_8), sceneJsonKey);
+//
+//        String key = String.format(RedisKey.SCENE_JSON, num);
+//        if(redisUtil.hasKey(key)){
+//            redisUtil.del(key);
+//        }
+//
+//        //容量统计
+//        Long space = commonService.getSpace(num);
+//
+//        String sceneJsonStr = FileUtil.readUtf8String(sceneJsonFile);
+//        ScenePlus scenePlus = JSON.parseObject(sceneJsonStr, ScenePlus.class);
+//        scenePlus.setId(scenePlusDb.getId());
+//        scenePlus.setSceneStatus(SceneStatus.NO_DISPLAY.code());
+//        scenePlus.setPayStatus(PayStatus.PAY.code());
+//        scenePlus.setCreateTime(null);
+//        scenePlus.setUpdateTime(null);
+//        scenePlusService.updateById(scenePlus);
+//
+//        ScenePlusExt scenePlusExt = JSON.parseObject(sceneJsonStr, ScenePlusExt.class);
+//        scenePlusExt.setPlusId(scenePlusExtDb.getPlusId());
+//        scenePlusExt.setId(scenePlusExtDb.getId());
+//        scenePlusExt.setCreateTime(null);
+//        scenePlusExt.setWebSite("/" + sceneProNewUrl + scenePlus.getNum());
+//        scenePlusExt.setAlgorithmTime(new Date());
+//        scenePlusExt.setSpace(space);
+//        scenePlusExtService.updateById(scenePlusExt);
+//
+//        SceneEditInfo sceneEditInfo = JSON.parseObject(sceneJsonStr, SceneEditInfo.class);
+//        sceneEditInfo.setId(null);
+//        sceneEditInfo.setScenePlusId(scenePlusDb.getId());
+//        sceneEditInfo.setCreateTime(null);
+//        sceneEditInfoService.save(sceneEditInfo);
+//
+//        SceneEditInfoExt sceneEditInfoExt = JSON.parseObject(sceneJsonStr, SceneEditInfoExt.class);
+//        sceneEditInfoExt.setId(null);
+//        sceneEditInfoExt.setScenePlusId(scenePlusDb.getId());
+//        sceneEditInfoExt.setEditInfoId(sceneEditInfo.getId());
+//        sceneEditInfoExt.setCreateTime(null);
+//        sceneEditInfoExtService.save(sceneEditInfoExt);
+//
+//        SceneEditControls sceneEditControls = JSON.parseObject(sceneJsonStr, SceneEditControls.class);
+//        sceneEditControls.setId(null);
+//        sceneEditControls.setEditInfoId(sceneEditInfo.getId());
+//        sceneEditControls.setCreateTime(null);
+//        sceneEditControlsService.save(sceneEditControls);
+//    }
+
 }

+ 0 - 22
src/main/java/com/fdkankan/contro/mq/service/impl/BuildSceneServiceImpl.java

@@ -384,28 +384,11 @@ public class BuildSceneServiceImpl implements IBuildSceneService {
                 CreateObjUtil.deleteFile(path.replace(ConstantFilePath.BUILD_MODEL_PATH, "/"));
             }
 
-
             this.uploadStatusJson(scenePlus, scenePlusExt);
 
             scenePlusService.updateById(scenePlus);
             scenePlusExtService.updateById(scenePlusExt);
 
-            //增加深巡重定位圆周率
-            relocationService.relocationYzlInit(sceneCode, fdageData, SceneUtil.getHomePath(path));
-
-            //国际环境需要发邮件通知
-            if("eur".equals(env) &&
-                    !scenePlus.getSceneSource().equals(SceneSource.JG.code()) &&
-                    !scenePlus.getSceneSource().equals(SceneSource.SG.code())){
-                commonService.sendEmail(sceneCode, "standar");
-            }
-
-            //发送到文保系统
-            wbService.sendMq(sceneCode, CommonSuccessStatus.SUCCESS.code());
-
-            //四川日报打包消费
-            this.sendMqToPackScene4Scrb(sceneCode);
-
             log.info("场景计算结果处理结束,场景码:{}", sceneCode);
 
         }catch (Exception e){
@@ -415,11 +398,6 @@ public class BuildSceneServiceImpl implements IBuildSceneService {
             fdkkLaserService.updateStatus(sceneCode, 1);
 
             throw e;
-        } finally {
-            Map<String, Object> sceneStatusParam = new HashMap<>();
-            sceneStatusParam.put("num", sceneCode);
-            sceneStatusParam.put("status", message.getBuildSuccess() ? 1 : -1);
-            commonService.sendUpdateSceneStatusMqToQueues(sceneStatusParam);
         }
     }
 

+ 80 - 105
src/main/java/com/fdkankan/contro/service/impl/JmgaServiceImpl.java

@@ -7,10 +7,7 @@ import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.fdkankan.common.constant.ErrorCode;
-import com.fdkankan.common.constant.ModelKind;
-import com.fdkankan.common.constant.SceneSource;
-import com.fdkankan.common.constant.SceneStatus;
+import com.fdkankan.common.constant.*;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.contro.entity.*;
 import com.fdkankan.contro.service.*;
@@ -78,6 +75,9 @@ public class JmgaServiceImpl implements IJmgaService {
         String zipDir = "/mnt/data/temp/";
         fYunFileService.downloadFileByCommand(zipDir + zipName, param.getFilePath());
 
+        JSONObject content = new JSONObject();
+        content.put("zipPath", zipDir + zipName);
+        content.put("sourceType", param.getSourceType());
         Camera camera = null;
         CameraDetail cameraDetail = null;
         String sceneNum = null;
@@ -88,119 +88,94 @@ public class JmgaServiceImpl implements IJmgaService {
             }
             JSONObject dataFdage = JSON.parseObject(dataFdageStr);
             String snCode = dataFdage.getJSONObject("cam").getString("uuid");
+            Integer camType = dataFdage.getJSONObject("cam").getInteger("type");
             String uuidTime = dataFdage.getString("uuidtime");
             String uniCode = snCode + "_" + uuidTime;
-            camera = cameraService.getBySnCode(snCode);
-            if(camera == null){
-                throw new BusinessException(ErrorCode.FAILURE_CODE_7010);
-            }
-            cameraDetail = cameraDetailService.getByCameraId(camera.getId());
-            if(cameraDetail == null){
-                throw new BusinessException(ErrorCode.FAILURE_CODE_7010);
-            }
+            if(camType == 5){//圆周率只用于重定位
+                JSONArray points = dataFdage.getJSONArray("points");
+                if(CollUtil.isEmpty(points)){
+                    throw new BusinessException(ErrorCode.FAILURE_CODE_5012.code(), "点位数据缺失");
+                }
 
-            ScenePlus scenePlus = scenePlusService.getByFileId(uniCode);
-            if(scenePlus == null){
-                scenePlus = new ScenePlus();
-                sceneNum = scene3dNumService.generateSceneNum(cameraDetail.getType());
-                scenePlus.setNum(sceneNum);
-                scenePlus.setCameraId(cameraDetail.getCameraId());
-                scenePlus.setSceneSource(SceneSourceUtil.getSceneSourceByCamType(cameraDetail.getType()));
+                String sxUuid = dataFdage.getString("parentScene");
+                ScenePlus sxScenePlus = scenePlusService.getByFileId(sxUuid);
+                if(sxScenePlus == null){
+                    throw new BusinessException(ErrorCode.FAILURE_CODE_5005.code(), "请先上传深巡场景");
+                }
+                content.put("relocation", true);
             }else{
-                if(scenePlus.getSceneStatus() == SceneStatus.wait.code()){
-                    throw new BusinessException(ErrorCode.FAILURE_CODE_5033);
+                camera = cameraService.getBySnCode(snCode);
+                if(camera == null){
+                    throw new BusinessException(ErrorCode.FAILURE_CODE_7010);
                 }
-                sceneNum = scenePlus.getNum();
-            }
-            scenePlus.setTitle(dataFdage.getString("name"));
-            scenePlus.setUserId(user.getId());
-            scenePlus.setUpdateTime(null);
-            scenePlus.setSceneStatus(SceneStatus.wait.code());
-            scenePlus.setSceneSource(SceneSource.SX.code());
-            scenePlusService.saveOrUpdate(scenePlus);
-
-            ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
-            if(scenePlusExt == null){
-                scenePlusExt = new ScenePlusExt();
-                scenePlusExt.setPlusId(scenePlus.getId());
-                scenePlusExt.setWebSite("/" + sceneProNewUrl + scenePlus.getNum());
-                String fileId = sceneFileBuildService.getFileId(snCode, uniCode);
-                scenePlusExt.setDataSource(ConstantFilePath.BUILD_MODEL_PATH + snCode + File.separator + fileId + File.separator + uniCode);
-                if(ModelKind.THREE_D_TILE.code().equals(modelKind)
-                        && CollUtil.isNotEmpty(sdTilesSceneSourceList)
-                        && sdTilesSceneSourceList.contains(scenePlus.getSceneSource())){
-                    scenePlusExt.setModelKind(modelKind);
+                cameraDetail = cameraDetailService.getByCameraId(camera.getId());
+                if(cameraDetail == null){
+                    throw new BusinessException(ErrorCode.FAILURE_CODE_7010);
                 }
-            }
-            JSONArray points = dataFdage.getJSONArray("points");
-            scenePlusExt.setShootCount(points.size());
-            scenePlusExtService.saveOrUpdate(scenePlusExt);
-
-            SceneEditInfo sceneEditInfo = sceneEditInfoService.getByScenePlusId(scenePlus.getId());
-            if(sceneEditInfo == null){
-                sceneEditInfo = new SceneEditInfo();
-                sceneEditInfo.setScenePlusId(scenePlus.getId());
-                sceneEditInfoService.save(sceneEditInfo);
-            }
-            SceneEditInfoExt sceneEditInfoExt = sceneEditInfoExtService.getByEditInfoId(sceneEditInfo.getId());
-            if(sceneEditInfoExt == null){
-                sceneEditInfoExt = new SceneEditInfoExt();
-                sceneEditInfoExt.setScenePlusId(scenePlus.getId());
-                sceneEditInfoExt.setEditInfoId(sceneEditInfo.getId());
-                sceneEditInfoExtService.save(sceneEditInfoExt);
-            }
-            SceneEditControls sceneEditControls = sceneEditControlsService.getBySceneEditId(sceneEditInfo.getId());
-            if(sceneEditControls == null){
-                sceneEditControls = new SceneEditControls();
-                sceneEditControls.setEditInfoId(sceneEditInfo.getId());
-                sceneEditControlsService.save(sceneEditControls);
-            }
 
+                ScenePlus scenePlus = scenePlusService.getByFileId(uniCode);
+                if(scenePlus == null){
+                    scenePlus = new ScenePlus();
+                    sceneNum = scene3dNumService.generateSceneNum(cameraDetail.getType());
+                    scenePlus.setNum(sceneNum);
+                    scenePlus.setCameraId(cameraDetail.getCameraId());
+                    scenePlus.setSceneSource(SceneSourceUtil.getSceneSourceByCamType(cameraDetail.getType()));
+                }else{
+                    if(scenePlus.getSceneStatus() == SceneStatus.wait.code()){
+                        throw new BusinessException(ErrorCode.FAILURE_CODE_5033);
+                    }
+                    sceneNum = scenePlus.getNum();
+                }
+                scenePlus.setTitle(dataFdage.getString("name"));
+                scenePlus.setUserId(user.getId());
+                scenePlus.setUpdateTime(null);
+                scenePlus.setSceneStatus(SceneStatus.wait.code());
+                scenePlus.setSceneSource(SceneSource.SX.code());
+                scenePlusService.saveOrUpdate(scenePlus);
+
+                ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
+                if(scenePlusExt == null){
+                    scenePlusExt = new ScenePlusExt();
+                    scenePlusExt.setPlusId(scenePlus.getId());
+                    scenePlusExt.setWebSite("/" + sceneProNewUrl + scenePlus.getNum());
+                    String fileId = sceneFileBuildService.getFileId(snCode, uniCode);
+                    scenePlusExt.setDataSource(ConstantFilePath.BUILD_MODEL_PATH + snCode + File.separator + fileId + File.separator + uniCode);
+                    if(ModelKind.THREE_D_TILE.code().equals(modelKind)
+                            && CollUtil.isNotEmpty(sdTilesSceneSourceList)
+                            && sdTilesSceneSourceList.contains(scenePlus.getSceneSource())){
+                        scenePlusExt.setModelKind(modelKind);
+                    }
+                }
+                JSONArray points = dataFdage.getJSONArray("points");
+                scenePlusExt.setShootCount(points.size());
+                scenePlusExtService.saveOrUpdate(scenePlusExt);
+
+                SceneEditInfo sceneEditInfo = sceneEditInfoService.getByScenePlusId(scenePlus.getId());
+                if(sceneEditInfo == null){
+                    sceneEditInfo = new SceneEditInfo();
+                    sceneEditInfo.setScenePlusId(scenePlus.getId());
+                    sceneEditInfoService.save(sceneEditInfo);
+                }
+                SceneEditInfoExt sceneEditInfoExt = sceneEditInfoExtService.getByEditInfoId(sceneEditInfo.getId());
+                if(sceneEditInfoExt == null){
+                    sceneEditInfoExt = new SceneEditInfoExt();
+                    sceneEditInfoExt.setScenePlusId(scenePlus.getId());
+                    sceneEditInfoExt.setEditInfoId(sceneEditInfo.getId());
+                    sceneEditInfoExtService.save(sceneEditInfoExt);
+                }
+                SceneEditControls sceneEditControls = sceneEditControlsService.getBySceneEditId(sceneEditInfo.getId());
+                if(sceneEditControls == null){
+                    sceneEditControls = new SceneEditControls();
+                    sceneEditControls.setEditInfoId(sceneEditInfo.getId());
+                    sceneEditControlsService.save(sceneEditControls);
+                }
+            }
         }else{//离线包
-//            String sceneJsonStr = com.fdkankan.contro.util.ZipUtil.readUtf8(zipDir + zipName, "scene.json");
-//            if(StrUtil.isEmpty(sceneJsonStr) || !JSONUtil.isJson(sceneJsonStr)){
-//                throw new BusinessException(60027, "scene.json文件数据异常");
-//            }
-//            JSONObject sceneJson = JSON.parseObject(sceneJsonStr);
-//            sceneNum = sceneJson.getString("num");
-//
-//            ScenePlus scenePlusDb = scenePlusService.getDeletedByNum(sceneNum);
-//            if(scenePlusDb != null && scenePlusDb.getRecStatus().equalsIgnoreCase(RecStatus.VALID.code())){
-//                throw new BusinessException(ModelingControlRespCode.NUM_EXISTS.code(), ModelingControlRespCode.NUM_EXISTS.message());
-//            }
-//            if(scenePlusDb != null && scenePlusDb.getRecStatus().equalsIgnoreCase(RecStatus.DISABLE.code())){
-//                scenePlusService.updateNumById(scenePlusDb.getId(), scenePlusDb.getNum() + "-" + scenePlusDb.getId());
-//            }
-//
-//            int camType = sceneJson.getInteger("camType");
-//            String snCode = sceneJson.getString("snCode");
-//            Map<String, Object> instorage = cameraService.instorage(camType, snCode);
-//            cameraDetail = (CameraDetail) instorage.get("cameraDetail");
-//            ScenePlus scenePlus = new ScenePlus();
-//            scenePlus.setNum(sceneNum);
-//            scenePlus.setCameraId(cameraDetail.getCameraId());
-//            scenePlus.setSceneSource(SceneSourceUtil.getSceneSourceByCamType(cameraDetail.getType()));
-//            scenePlus.setTitle(sceneJson.getString("title"));
-//            scenePlus.setUserId(user.getId());
-//            scenePlus.setUpdateTime(null);
-//            scenePlus.setSceneStatus(SceneStatus.wait.code());
-//            scenePlus.setUploadType("offline");
-//            scenePlus.setPayStatus(PayStatus.PAY.code());
-//            scenePlus.setStartBuildTime(new Date());
-//            scenePlusService.save(scenePlus);
-//            ScenePlusExt scenePlusExt = new ScenePlusExt();
-//            scenePlusExt.setPlusId(scenePlus.getId());
-//            String uniCode = snCode + DateExtUtil.format(new Date(), DateExtUtil.dateStyle11);
-//            String fileId = sceneFileBuildService.getFileId(snCode, uniCode);
-//            scenePlusExt.setDataSource(ConstantFilePath.BUILD_MODEL_PATH + snCode + File.separator + fileId + File.separator + uniCode);
-//            scenePlusExtService.save(scenePlusExt);
+            throw new BusinessException(ErrorCode.PARAM_ERROR);
         }
 
         //发mq做异步处理
-        JSONObject content = new JSONObject();
-        content.put("zipPath", zipDir + zipName);
         content.put("num", sceneNum);
-        content.put("sourceType", param.getSourceType());
         mqProducer.sendByWorkQueue("manage-upload-scene", content);
     }