dengsixing 3 سال پیش
والد
کامیت
7bb7e368ff

+ 22 - 32
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/receiver/BuildSceneListener.java

@@ -221,9 +221,7 @@ public class BuildSceneListener implements RocketMQListener<String> {
         String unicode = message.getUnicode();
         String path = message.getPath();
         String prefix = message.getPrefix();
-        String imgsName = message.getImgsName();
         projectNum = message.getSceneNum();
-        String userName = message.getUserName();
         //不同的相机不同的方法
         String cameraType = message.getCameraType();
         String algorithm = message.getAlgorithm();
@@ -233,14 +231,8 @@ public class BuildSceneListener implements RocketMQListener<String> {
         String resolution = message.getResolution();
         //判断调用V2还是V3版本的算法
         String buildType = ObjectUtils.isEmpty(message.getBuildType()) ? "V2" : message.getBuildType();
-        String sceneName = message.getSceneName();
         String webSite = message.getWebSite();
-        Date createTime = message.getSceneProCreateTime();
-        Long userId = message.getUserId();
-        String dataSource = message.getDataSource();
         Integer sceneStatus = message.getSceneStatus();
-        Integer sceneProPayStatus = message.getPayStatus();
-        Long sceneProId = message.getSceneProId();
         String thumb = message.getThumb();
 
         String dataPath = "data/data" + projectNum;//老版本文件路径
@@ -286,12 +278,12 @@ public class BuildSceneListener implements RocketMQListener<String> {
 
                 //休眠1秒,否则可能获取不到场景资源
                 Thread.sleep(1000);
-                if(sceneProId == null){
-                    log.error("场景不存在,场景码:{}", projectNum);
-                    // TODO: 2022/1/25 测试阶段,先注释掉推送
-//                    this.sendDingTalkMq("场景不存在", message);
-                    return;
-                }
+//                if(sceneProId == null){
+//                    log.error("场景不存在,场景码:{}", projectNum);
+//                    // TODO: 2022/1/25 测试阶段,先注释掉推送
+////                    this.sendDingTalkMq("场景不存在", message);
+//                    return;
+//                }
 
                 long start = System.currentTimeMillis();
 
@@ -370,7 +362,7 @@ public class BuildSceneListener implements RocketMQListener<String> {
             this.sendCallResult(buildSuccess, resultTopicName, cameraType, computeTime, fileId, payStatus,
                 projectNum, videosJson, map, path, pushChannel, pushToken,prefix, videoVersion);
             //上传status.json   console.log
-            this.uploadStatusJsonAndConsoleLog(sceneProId, sceneStatus, webSite, projectNum, thumb, payStatus);
+            this.uploadStatusJsonAndConsoleLog(sceneStatus, webSite, projectNum, thumb, payStatus);
 
         }
     }
@@ -432,26 +424,24 @@ public class BuildSceneListener implements RocketMQListener<String> {
                     .build());
     }
 
-    private void uploadStatusJsonAndConsoleLog(Long sceneProId, Integer sceneStatus, String webSite, String projectNum,
+    private void uploadStatusJsonAndConsoleLog(Integer sceneStatus, String webSite, String projectNum,
                                                String thumb, Integer payStatus){
         try{
-            if(Objects.nonNull(sceneProId)){
-                JSONObject statusJson = new JSONObject();
-                //临时将-2改成1,app还没完全更新
-                if(sceneStatus == -2){
-                    sceneStatus = 1;
-                }else if(sceneStatus == -1){
-                    // 失败状态不予显示到客户端
-                    sceneStatus = 0;
-                }
-                statusJson.put("status", sceneStatus);
-                statusJson.put("webSite", webSite);
-                statusJson.put("sceneNum", projectNum);
-                statusJson.put("thumb", thumb);
-                statusJson.put("payStatus", payStatus);
-                FileUtils.writeFile(ConstantFilePath.SCENE_PATH+"data/data"+projectNum+File.separator+"status.json", statusJson.toString());
-
+            JSONObject statusJson = new JSONObject();
+            //临时将-2改成1,app还没完全更新
+            if(sceneStatus == -2){
+                sceneStatus = 1;
+            }else if(sceneStatus == -1){
+                // 失败状态不予显示到客户端
+                sceneStatus = 0;
             }
+            statusJson.put("status", sceneStatus);
+            statusJson.put("webSite", webSite);
+            statusJson.put("sceneNum", projectNum);
+            statusJson.put("thumb", thumb);
+            statusJson.put("payStatus", payStatus);
+            FileUtils.writeFile(ConstantFilePath.SCENE_PATH+"data/data"+projectNum+File.separator+"status.json", statusJson.toString());
+
         }catch (Exception e){
             log.error("上传status.json/console.log失败", e);
         }

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 4 - 6
4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/TestController.java


+ 3 - 3
4dkankan-center-scene/src/main/java/com/fdkankan/scene/generate/AutoGenerate.java

@@ -22,7 +22,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir") + "\\4dkankan-center-scene";
 
         generate(path,"test", getTables(new String[]{
-                "t_scene_edit_info_ext"
+                "t_scene_plus", "t_scene_plus_ext"
         }));
 
 //        generate(path,"goods", getTables(new String[]{
@@ -82,9 +82,9 @@ public class AutoGenerate {
 
                             .entityBuilder()
                             .enableLombok()
-//                            .logicDeleteColumnName("tb_status")
+                            .logicDeleteColumnName("tb_status")
                             .enableTableFieldAnnotation()
-                            .superClass(BaseEntity.class)
+//                            .superClass(BaseEntity.class)
 
                             .controllerBuilder()
                             .formatFileName("%sController")

+ 1 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneFileBuildService.java

@@ -48,7 +48,7 @@ public interface ISceneFileBuildService extends IService<SceneFileBuild> {
 
     ResultData buildScene(@RequestBody BuildSceneParamVO buildScene) throws Exception;
 
-    ResultData rebuildScene(String sceneCode) throws Exception;
+    ResultData rebuildScene(String num) throws Exception;
 
     ResultData rebuildVideoScene(RebuildVedioSceneParamVO param) throws Exception;
 

+ 241 - 44
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneFileBuildServiceImpl.java

@@ -104,6 +104,10 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
     private String topicPicA;
 
     @Autowired
+    private IScenePlusService scenePlusService;
+    @Autowired
+    private IScenePlusExtService scenePlusExtService;
+    @Autowired
     IPicSceneProgressService picSceneProgressService;
     @Autowired
     IVideoSceneProgressService videoSceneProgressService;
@@ -1125,7 +1129,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
         log.info("发送mq,camType:{}", jsonObject.getJSONObject("cam").getIntValue("type"));
         if(jsonObject.getJSONObject("cam").getIntValue("type") == 10){
             mqProducer.sendOneWay(topicLaserA, scene.getMqMsg());
-        }else  if(scene != null){
+        }else if(scene != null){
 //            mqProducer.sendInOrder(topicModelingA, scene.getId()+"", scene.getMqMsg());
             mqProducer.syncSend(topicModelingAPre, scene.getMqMsg());
 
@@ -1617,6 +1621,158 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
         return scenePo;
     }
 
+    public ScenePlusVO createScenePlus(String projectNum, Long cameraId, String cameraName, String phoneId, String scenepsd,
+        String unicode, Integer cameraType, String fileId, String prefix,
+        String imgsName, String pic, String isModel, Long userId, String userName,
+        String algorithm, Integer sceneShootCount, String sceneName,
+        String sceneDec, Integer sceneType, String gps,
+        Integer type, String url, String ecsType)throws Exception{
+        ScenePlusVO scenePlusVO = new ScenePlusVO();
+        ScenePlus scenePlus = new ScenePlus();
+        ScenePlusExt scenePlusExt = new ScenePlusExt();
+//        ScenePO scenePo = new ScenePO();
+//        Scene scene = new Scene();
+//        SceneExt sceneExt = new SceneExt();
+        scenePlusExt.setWebSite(url+projectNum);
+        scenePlus.setCameraId(cameraId);
+        scenePlus.setPhoneId(phoneId);
+        scenePlus.setNum(String.valueOf(projectNum));
+        if(scenepsd == null)
+        {
+            scenepsd = "";
+        }
+        // TODO: 2022/3/16 这里暂时不确定要不要 ---start
+//        if(!scenepsd.equals(""))
+//        {
+//            scene.setSceneKey(scenepsd);
+//        }
+        // TODO: 2022/3/16 这里暂时不确定要不要 ---end
+
+        if(!org.springframework.util.StringUtils.isEmpty(ecsType)){
+            scenePlusExt.setEcs(ecsType);
+        }
+
+        String path =  ConstantFilePath.BUILD_MODEL_PATH + unicode;
+
+        if(cameraType.longValue() >= 4){
+            scenePlusExt.setDataSource(ConstantFilePath.BUILD_MODEL_PATH +
+                cameraName.replace("4DKKPRO_", "").replace("-fdage", "").toLowerCase() + File.separator + fileId + File.separator + unicode);
+        }else {
+            scenePlusExt.setDataSource(prefix+imgsName);
+        }
+
+        if(cameraType.longValue() == 14){
+
+            scenePlusExt.setDataSource(ConstantFilePath.BUILD_MODEL_LASER_PATH +
+                cameraName.replace("4DKKPRO_", "").replace("-fdage", "").toLowerCase() + File.separator +
+                fileId + File.separator + unicode);
+
+            log.info("激光相机 dataSource :" + scenePlusExt.getDataSource());
+
+        }
+
+        if(pic!=null&&pic.length()>5) {
+            scenePlusExt.setThumb(pic);
+        }else{
+            scenePlusExt.setThumb(ConstantUrl.DEFAULT_SCENE_PIC);
+        }
+
+        BuildSceneMqMessage buildSceneMqMessage = new BuildSceneMqMessage();
+        buildSceneMqMessage.setUnicode(unicode);
+        buildSceneMqMessage.setPath(path);
+        buildSceneMqMessage.setPrefix(prefix);
+        buildSceneMqMessage.setImgsName(imgsName);
+        buildSceneMqMessage.setSceneNum(projectNum);
+        buildSceneMqMessage.setIsModel(isModel);
+        buildSceneMqMessage.setCameraType(String.valueOf(cameraType));
+        buildSceneMqMessage.setAlgorithm(algorithm);
+        buildSceneMqMessage.setFileId(fileId);
+        buildSceneMqMessage.setCameraName(cameraName);
+
+        if(StrUtil.isNotBlank(userName))
+        {
+            buildSceneMqMessage.setUserName(userName);
+            scenePlus.setUserId(userId);
+        }
+        else
+        {
+            buildSceneMqMessage.setUserName("noMan");
+        }
+        mqProducer.syncSend(topicModelingAPre, buildSceneMqMessage);
+
+        if(sceneShootCount == null)
+        {
+            scenePlusExt.setShootCount(0);
+        }
+        else
+        {
+            scenePlusExt.setShootCount(sceneShootCount);
+        }
+        if(sceneName!=null)
+        {
+            scenePlus.setTitle(sceneName);
+        }
+        if(sceneDec!=null)
+        {
+            scenePlus.setDescription("<p>"+sceneDec+"</p>");
+        }
+
+        if(sceneType!=null)
+        {
+            scenePlus.setSceneType(sceneType);
+        }
+
+        if(gps!=null&&!gps.trim().equals(""))
+        {
+            scenePlusExt.setGps(gps);
+        }
+
+        scenePlusExt.setSceneScheme(cameraType.intValue());
+        scenePlusExt.setAlgorithm(algorithm);
+        log.info("场景记录添加到数据库:"+projectNum);
+        //type=0为新生成场景,其余为重新计算场景
+        if(type == 0){
+            scenePlusService.save(scenePlus);
+            scenePlusExt.setPlusId(scenePlus.getId());
+            scenePlusExtService.save(scenePlusExt);
+        }
+
+        BeanUtil.copyProperties(scenePlusExt, scenePlusVO);
+        BeanUtil.copyProperties(scenePlus, scenePlusVO);
+        JSONObject scenejson = JSONObject.parseObject(JSONObject.toJSONString(scenePlusVO));
+        scenejson.put("thumbImg", 0);
+        scenejson.put("version", 0);
+        scenejson.put("floorLogo", 0);
+        if(!scenepsd.equals("")){
+            scenejson.put("scenePsd", scenepsd);
+            scenejson.put("public", 1);
+        }else{
+            scenejson.put("scenePsd", "");
+            scenejson.put("public", 0);
+        }
+        if(cameraType < 4){
+            scenejson.put("visions", 1);
+        }else {
+            scenejson.put("visions", 2);
+        }
+        scenejson.put("createTime", new DateTime(new Date()).toString("yyyy-MM-dd HH:mm"));
+
+        File file = new File(ConstantFilePath.SCENE_PATH+"data/data"+projectNum);
+        if(!file.exists()||!file.isDirectory())
+        {
+            file.mkdirs();
+        }
+        FileUtils.writeFile(ConstantFilePath.SCENE_PATH+"data/data"+projectNum+File.separator+"scene.json", scenejson.toString());
+//        UploadToOssUtil.upload(ConstantFilePath.SCENE_PATH+"data/data"+projectNum+File.separator+"scene.json", "data/data"+projectNum+File.separator+"scene.json");
+
+        //生成二维码
+        MatrixToImageWriterUtil.createQRCode(url + projectNum, ConstantFilePath.BASE_PATH + File.separator + "sceneQRcode/"+projectNum+".png", null);
+        MatrixToImageWriterUtil.createQRCode(url + projectNum + "&lang=en", ConstantFilePath.BASE_PATH + File.separator + "sceneQRcode/"+projectNum+"_en.png", null);
+        log.info("二维码生成完成");
+
+        return scenePlusVO;
+    }
+
     public SceneProPO createScenePro(String projectNum, Long cameraId, String cameraName, String phoneId, String sceneKey,
                                      String unicode, Long cameraType, String fileId, String prefix,
                                      String imgsName, String pic, String isModel, Long userId, String userName,
@@ -2057,27 +2213,58 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
         return filePathName;
     }
 
-    public ResultData rebuildScene(String sceneCode) throws Exception {
-        if (StringUtils.isEmpty(sceneCode)) {
+    public ResultData rebuildScene(String num) throws Exception {
+        if (StringUtils.isEmpty(num)) {
             throw new BusinessException(ErrorCode.FAILURE_CODE_3001);
         }
 
-        ScenePro scenePro = sceneProService.findBySceneNum(sceneCode);
-        SceneProExt sceneProExt = null;
+        // TODO: 2022/3/16 旧主表逻辑, 待删除 -------------------------------start
+        ScenePro scenePro = sceneProService.findBySceneNum(num);
+//        SceneProExt sceneProExt = null;
         ScenePO scenePO = null;
-        String path = "";
-        if(scenePro == null){
-            scenePO = sceneService.findBySceneNum(sceneCode);
-            if(scenePO == null){
-                throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
-            }else {
-                path = ConstantFilePath.BUILD_MODEL_PATH + scenePO.getDataSource().split("/")[scenePO.getDataSource().split("/").length - 2];
-            }
-        }else {
-            sceneProExt = sceneProExtService.findBySceneProId(scenePro.getId());
-            path = sceneProExt.getDataSource();
-
+//        String path = "";
+//        if(scenePro == null){
+//            scenePO = sceneService.findBySceneNum(sceneCode);
+//            if(scenePO == null){
+//                throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
+//            }else {
+//                path = ConstantFilePath.BUILD_MODEL_PATH + scenePO.getDataSource().split("/")[scenePO.getDataSource().split("/").length - 2];
+//            }
+//        }else {
+//            sceneProExt = sceneProExtService.findBySceneProId(scenePro.getId());
+//            path = sceneProExt.getDataSource();
+//        }
+//        Integer sceneSource = sceneProExt.getSceneSource();
+//        String dataSource = sceneProExt.getDataSource();
+//        Long userId = scenePro.getUserId();
+//        String buildType = scenePro.getBuildType();
+//        Integer sceneStatus = scenePro.getSceneStatus();
+//        String webSite = scenePro.getWebSite();
+//        String thumb = scenePro.getThumb();
+//        Integer payStatus = scenePro.getPayStatus();
+//        Integer sceneScheme = scenePro.getSceneScheme();
+//        Long sceneId = scenePro.getId();
+
+        // TODO: 2022/3/16 旧主表逻辑, 待删除 -------------------------------end
+
+        ScenePlusVO scenePlusVO = null;
+        ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
+        if(Objects.isNull(scenePlus)){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
         }
+        ScenePlusExt scenePlusExt = scenePlusExtService.getSceneProExtByPlusId(scenePlus.getId());
+        String path = scenePlusExt.getDataSource();
+        Integer sceneSource = scenePlus.getSceneSource();
+        String dataSource = scenePlusExt.getDataSource();
+        Long userId = scenePlus.getUserId();
+        String buildType = scenePlusExt.getBuildType();
+        Integer sceneStatus = scenePlus.getSceneStatus();
+        String webSite = scenePlusExt.getWebSite();
+        String thumb = scenePlusExt.getThumb();
+        Integer payStatus = scenePlus.getPayStatus();
+        Integer sceneScheme = scenePlusExt.getSceneScheme();
+        scenePlus
+
         //重新计算时需要删除文件夹,否知使用缓存
         FileUtils.delAllFile(path + File.separator + "results");
 
@@ -2090,7 +2277,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
             CreateObjUtil.ossUtilCp(ConstantFilePath.OSS_PREFIX + path.replace(ConstantFilePath.BUILD_MODEL_PATH, ""),
                     path + "/capture/");
         } else {
-            if(scenePro!=null && sceneProExt.getSceneSource().equals(4)){
+            if(sceneSource == 4){
                 CreateObjUtil.ossUtilCp(ConstantFilePath.OSS_PREFIX + path.replace(ConstantFilePath.BUILD_MODEL_LASER_PATH, "") + "/data.fdage", path + "/capture/");
             }else{
                 CreateObjUtil.ossUtilCp(ConstantFilePath.OSS_PREFIX + path.replace(ConstantFilePath.BUILD_MODEL_PATH, "") + "/data.fdage", path + "/capture/");
@@ -2135,7 +2322,19 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
             }
 
             String unicode = jsonObject.getString("creator") + "_" + jsonObject.getString("uuidtime");
-            scenePO = this.createScene(sceneCode, camera.getId(),
+            // TODO: 2022/3/16 旧主表逻辑, 待删除 -------------------------------start
+//            scenePO = this.createScene(num, camera.getId(),
+//                cameraName, jsonObject.getString("creator"),
+//                jsonObject.getString("pwd"), unicode, detail.getCameraType(),
+//                fileId, "http://creator.4dkankan.com/" + unicode + File.separator, "zip.Zip",
+//                jsonObject.getString("scenePic"), "0", userId, userName,
+//                jsonObject.getString("location") != null && "1".equals(jsonObject.getString("location")) ? "sfm" : "slam",
+//                jsonObject.getJSONArray("imgs").size(), jsonObject.getString("name"), jsonObject.getString("info"),
+//                jsonObject.getInteger("scenetype"), jsonObject.getString("gps"),
+//                1, mainUrl + sceneUrl, ecsType);
+            // TODO: 2022/3/16 旧主表逻辑, 待删除 -------------------------------end
+
+            scenePlusVO = this.createScenePlus(num, camera.getId(),
                     cameraName, jsonObject.getString("creator"),
                     jsonObject.getString("pwd"), unicode, detail.getCameraType(),
                     fileId, "http://creator.4dkankan.com/" + unicode + File.separator, "zip.Zip",
@@ -2147,66 +2346,64 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
         } else {
             String cameraName = jsonObject.getJSONObject("cam").getString("uuid");
             String userName = null;
-            if (!ObjectUtils.isEmpty(scenePro.getUserId())) {
-                ResultData<SSOUser> ssoUserResult = platformUserClient.getSSOUserByUserId(scenePro.getUserId());
+            if (!ObjectUtils.isEmpty(userId)) {
+                ResultData<SSOUser> ssoUserResult = platformUserClient.getSSOUserByUserId(userId);
                 SSOUser user = ssoUserResult.getData();
                 userName = user.getUserName();
             }
-            String buildType = scenePro.getBuildType();
             //重算的场景,先移除该场景对应的容量
-            sceneProService.rebuildReduceSpaceBySceneNum(sceneCode);
+            sceneProService.rebuildReduceSpaceBySceneNum(num);
 
             JSONObject statusJson = new JSONObject();
             //临时将-2改成1,app还没完全更新
-            statusJson.put("status", scenePro.getSceneStatus() == -2 ? 1 : scenePro.getSceneStatus());
-            statusJson.put("webSite", scenePro.getWebSite());
-            statusJson.put("sceneNum", scenePro.getNum());
-            statusJson.put("thumb", scenePro.getThumb());
-            statusJson.put("payStatus", scenePro.getPayStatus());
-            FileUtils.writeFile(ConstantFilePath.SCENE_PATH + "data/data" + sceneCode + File.separator + "status.json", statusJson.toString());
-            uploadToOssUtil.upload(ConstantFilePath.SCENE_PATH + "data/data" + sceneCode + File.separator + "status.json",
-                    "data/data" + sceneCode + File.separator + "status.json");
+            statusJson.put("status", sceneStatus == -2 ? 1 : sceneStatus);
+            statusJson.put("webSite", webSite);
+            statusJson.put("sceneNum", num);
+            statusJson.put("thumb", thumb);
+            statusJson.put("payStatus", payStatus);
+            FileUtils.writeFile(ConstantFilePath.SCENE_PATH + "data/data" + num + File.separator + "status.json", statusJson.toString());
+            uploadToOssUtil.upload(ConstantFilePath.SCENE_PATH + "data/data" + num + File.separator + "status.json",
+                    "data/data" + num + File.separator + "status.json");
             String unicode = jsonObject.getString("creator") + "_" + jsonObject.getString("uuidtime");
 
-            Long cameraType = (long)scenePro.getSceneScheme() == 3? 12 : (long)scenePro.getSceneScheme();
+            Long cameraType = (long)sceneScheme == 3 ? 12 : (long)sceneScheme;
             //判断是否转台相机
-            if(scenePro != null && sceneProExt.getSceneSource() == 3){
+            if(sceneSource == 3){
                 cameraType = 13L;
             }
 
-            if(scenePro != null && sceneProExt.getSceneSource() == 4){
+            if(sceneSource == 4){
                 cameraType = 14L;
             }
 
-            if(sceneProExt.getSceneSource().intValue() == 4){
-                fdkkLaserService.updateSceneStatus(sceneCode,0);
+            if(sceneSource == 4){
+                fdkkLaserService.updateSceneStatus(num,0);
                 BuildSceneMqMessage buildSceneMqMessage =this.getBuildSceneMqMessage(
-                    sceneCode, cameraName, unicode, cameraType, fileId,
-                    sceneProExt.getDataSource().replace(ConstantFilePath.BUILD_MODEL_PATH, "")
+                    num, cameraName, unicode, cameraType, fileId,
+                    dataSource.replace(ConstantFilePath.BUILD_MODEL_PATH, "")
                         .replace(ConstantFilePath.BUILD_MODEL_LASER_PATH,"")+ File.separator,
                     "zip.Zip", "0",
                     userName, jsonObject.getString("location") != null && "1".equals(jsonObject.getString("location")) ? "sfm" : "slam",
                     jsonObject.getInteger("resolution"), buildType,
                     ConstantFilePath.BUILD_MODEL_LASER_PATH + unicode, scenePro.getId(), scenePro.getSceneName(),
                     scenePro.getWebSite(), scenePro.getCreateTime(), scenePro.getUserId(),
-                    sceneProExt.getDataSource(), scenePro.getSceneStatus(), scenePro.getPayStatus(), scenePro.getThumb());
+                    dataSource, scenePro.getSceneStatus(), scenePro.getPayStatus(), scenePro.getThumb());
                 mqProducer.syncSend(topicLaserA, buildSceneMqMessage);
             }else{
                 BuildSceneMqMessage buildSceneMqMessage =this.getBuildSceneMqMessage(
-                    sceneCode, cameraName, unicode, cameraType, fileId,
-                    sceneProExt.getDataSource().replace(ConstantFilePath.BUILD_MODEL_PATH, "")
+                    num, cameraName, unicode, cameraType, fileId,
+                    dataSource.replace(ConstantFilePath.BUILD_MODEL_PATH, "")
                         .replace(ConstantFilePath.BUILD_MODEL_LASER_PATH,"")+ File.separator,
                     "zip.Zip", "0",
                     userName, jsonObject.getString("location") != null && "1".equals(jsonObject.getString("location")) ? "sfm" : "slam",
                     jsonObject.getInteger("resolution"), buildType,
                     ConstantFilePath.BUILD_MODEL_PATH + unicode, scenePro.getId(), scenePro.getSceneName(),
                     scenePro.getWebSite(), scenePro.getCreateTime(), scenePro.getUserId(),
-                    sceneProExt.getDataSource(), scenePro.getSceneStatus(), scenePro.getPayStatus(), scenePro.getThumb());
+                    dataSource, scenePro.getSceneStatus(), scenePro.getPayStatus(), scenePro.getThumb());
 
-//                mqProducer.syncSend(topicModelingA, buildSceneMqMessage);
                 mqProducer.syncSend(topicModelingAPre, buildSceneMqMessage);
             }
-            sceneProService.updateStatus(sceneCode,0);
+            sceneProService.updateStatus(num,0);
             // 更新imageVersion
             sceneProEditService.updateImageVersionByProId(scenePro.getId());
         }

+ 132 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/ScenePlusVO.java

@@ -0,0 +1,132 @@
+package com.fdkankan.scene.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+
+/**
+ * <p>
+ * TODO
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/3/16
+ **/
+@Data
+public class ScenePlusVO {
+
+    /**
+     * 场景码
+     */
+    private String num;
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+    /**
+     * 相机id
+     */
+    private Long cameraId;
+
+    /**
+     * 手机id
+     */
+    private String phoneId;
+
+    /**
+     * 场景名称
+     */
+    private String title;
+
+    /**
+     * 场景描述
+     */
+    private String description;
+
+    /**
+     * 场景状态:0-未建好,1--已建好,-1-计算出错,-2--不在官网显示
+     */
+    private Integer sceneStatus;
+
+    /**
+     * 场景来源:相机拍摄10以内表示,1表示八目,2双目,3转台,4 激光  其他来源10以上,11:一键换装,12:123看房,13文通虚拟场景
+     */
+    private Integer sceneSource;
+
+    /**
+     * 支付状态:0表示未付款,1表示付款了,-1表示欠费,-2表示容量不足
+     */
+    private Integer payStatus;
+
+    /**
+     * 场景类型  0-其他,1-文博,2-地产,3-电商,4-餐饮,5-家居,99-一件换装虚拟房源
+     */
+    private Integer sceneType;
+
+    /**
+     * 是否推荐:0-否,1-是
+     */
+    private Integer recommend;
+
+    /**
+     * 场景数据目录
+     */
+    private String dataSource;
+
+    /**
+     * 场景链接
+     */
+    private String webSite;
+
+    /**
+     * 缩略图链接
+     */
+    private String thumb;
+
+    /**
+     * 方案:1-双目,2-转台,3-六目,4-八目,10-获取4k图,11-获取2k,12-获取1k
+     */
+    private Integer sceneScheme;
+
+    /**
+     * 使用用量
+     */
+    private Long space;
+
+    /**
+     * 云服务器类型
+     */
+    private String ecs;
+
+    /**
+     * 点位数量
+     */
+    private Integer shootCount;
+
+    /**
+     * 浏览次数
+     */
+    private Integer viewCount;
+
+    /**
+     * gps定位
+     */
+    private String gps;
+
+    /**
+     * 算法类型(slam、sfm)
+     */
+    private String algorithm;
+
+    /**
+     * 固件版本
+     */
+    private String firmwareVersion;
+
+    /**
+     * 算法类型(V2,V3)
+     */
+    private String buildType;
+
+}