dengsixing пре 3 година
родитељ
комит
4eaddcc195
24 измењених фајлова са 1496 додато и 1227 уклоњено
  1. 5 5
      4dkankan-center-modeling/pom.xml
  2. 1 1
      4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/bean/BuildSceneResultBean.java
  3. 2 2
      4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/entity/BuildLog.java
  4. 830 830
      4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/receiver/BuildSceneListener.java
  5. 498 8
      4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/receiver/RabbitMqListener.java
  6. 3 3
      4dkankan-center-modeling/src/main/resources/bootstrap-dev.yml
  7. 3 3
      4dkankan-center-modeling/src/main/resources/bootstrap-pro.yml
  8. 5 5
      4dkankan-center-modeling/src/main/resources/bootstrap-test.yml
  9. 2 2
      4dkankan-center-platform/src/main/resources/bootstrap-test.yml
  10. 5 5
      4dkankan-center-scene/pom.xml
  11. 2 38
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/TestController.java
  12. 1 4
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/entity/SceneProPO.java
  13. 4 4
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/listener/RabbitMqListener.java
  14. 0 69
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/listener/TestListener.java
  15. 0 66
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/listener/TestListener2.java
  16. 0 2
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/IBuildSceneDTService.java
  17. 1 9
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/IBuildScenePostService.java
  18. 4 31
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/IBuildScenePreService.java
  19. 1 2
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/BuildScenePostServiceImpl.java
  20. 4 40
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/BuildScenePreServiceImpl.java
  21. 115 66
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneFileBuildServiceImpl.java
  22. 4 17
      4dkankan-center-scene/src/main/resources/bootstrap-dev.yml
  23. 3 3
      4dkankan-center-scene/src/main/resources/bootstrap-pro.yml
  24. 3 12
      4dkankan-center-scene/src/main/resources/bootstrap-test.yml

+ 5 - 5
4dkankan-center-modeling/pom.xml

@@ -32,11 +32,11 @@
 			<version>2.0.0-SNAPSHOT</version>
 		</dependency>
 
-		<dependency>
-			<groupId>com.fdkankan</groupId>
-			<artifactId>4dkankan-utils-mq</artifactId>
-			<version>2.0.0-SNAPSHOT</version>
-		</dependency>
+<!--		<dependency>-->
+<!--			<groupId>com.fdkankan</groupId>-->
+<!--			<artifactId>4dkankan-utils-mq</artifactId>-->
+<!--			<version>2.0.0-SNAPSHOT</version>-->
+<!--		</dependency>-->
 
 		<dependency>
 			<groupId>com.fdkankan</groupId>

+ 1 - 1
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/bean/BuildSceneResultBean.java

@@ -24,7 +24,7 @@ public class BuildSceneResultBean {
 
     private ModelingBuildStatus buildStatus;
 
-    private String resultTopicName;
+    private String resultQueueName;
 
     private String cameraType;
 

+ 2 - 2
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/entity/BuildLog.java

@@ -46,8 +46,8 @@ public class BuildLog implements Serializable {
     /**
      * 主题名称
      */
-    @TableField("topic_name")
-    private String topicName;
+    @TableField("queue_name")
+    private String queueName;
 
     /**
      * -10:其他原因失败

Разлика између датотеке није приказан због своје велике величине
+ 830 - 830
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/receiver/BuildSceneListener.java


+ 498 - 8
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/receiver/RabbitMqListener.java

@@ -1,10 +1,49 @@
 package com.fdkankan.modeling.receiver;
 
+import cn.hutool.core.exceptions.ExceptionUtil;
+import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSONObject;
-import com.fdkankan.mq.message.BuildSceneMqMessage;
+import com.fdkankan.common.constant.ConstantFilePath;
+import com.fdkankan.common.constant.ModelingBuildStatus;
+import com.fdkankan.common.constant.ServerCode;
+import com.fdkankan.common.constant.UploadFilePath;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.util.ComputerUtil;
+import com.fdkankan.common.util.CreateObjUtil;
+import com.fdkankan.common.util.FileUtils;
+import com.fdkankan.common.util.SceneUtil;
+import com.fdkankan.dingtalk.DingTalkSendUtils;
+import com.fdkankan.fyun.oss.UploadToOssUtil;
+import com.fdkankan.modeling.bean.BuildSceneResultBean;
+import com.fdkankan.modeling.constants.SysConstants;
+import com.fdkankan.modeling.entity.BuildLog;
+import com.fdkankan.modeling.exception.BuildException;
+import com.fdkankan.modeling.service.IBuildLogService;
+import com.fdkankan.rabbitmq.bean.BuildSceneCallMessage;
+import com.fdkankan.rabbitmq.bean.BuildSceneFailDTMqMessage;
+import com.fdkankan.rabbitmq.bean.BuildSceneResultMqMessage;
+import com.fdkankan.rabbitmq.util.RabbitMqProducer;
+import com.fdkankan.redis.constant.RedisKey;
+import com.fdkankan.redis.util.RedisUtil;
+import com.rabbitmq.client.Channel;
+import java.io.File;
 import java.nio.charset.StandardCharsets;
+import java.util.Map;
+import java.util.Objects;
+import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.time.StopWatch;
+import org.springframework.amqp.core.Message;
+import org.springframework.amqp.rabbit.annotation.Queue;
+import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
+import org.springframework.util.ObjectUtils;
+import org.springframework.web.client.RestTemplate;
 
 /**
  * <p>
@@ -18,24 +57,475 @@ import org.springframework.stereotype.Component;
 @Component
 public class RabbitMqListener {
 
+    @Value("${queue.modeling.modeling-call}")
+    private String queueModelingCall;
+    @Value("${queue.modeling.modeling-dt}")
+    private String queueModelingDt;
+    @Value("${queue.modeling.modeling-post}")
+    private String queueModelingPost;
+
+    @Autowired
+    RedisUtil redisUtil;
+
+    private RestTemplate restTemplate = new RestTemplate();
+
+    @Value("${4dkk.laserService.host}")
+    private String laserHost;
+
+    @Value("${upload.type}")
+    private String ossType;
+
+    @Value("${oss.prefix.ali}")
+    private String prefixAli;
+
+    @Autowired
+    private UploadToOssUtil uploadToOssUtil;
+
+    @Autowired
+    RabbitMqProducer rabbitMqProducer;
+
+    @Value("${spring.profiles.active}")
+    private String environment;
+
+    @Autowired
+    private DingTalkSendUtils dingTalkSendUtils;
+
+    @Autowired
+    private IBuildLogService buildLogService;
+
     /**
-     * 场景计算前置资源准备处理
+     * 场景计算
      * @param channel
      * @param message
      * @throws Exception
      */
     @RabbitListener(
-        queuesToDeclare = @Queue("${queue.modeling.modeling-pre}"),
-        concurrency = "${maxThread.modeling.modeling-pre}"
+        queuesToDeclare = @Queue("${queue.modeling.modeling-call}"),
+        concurrency = "${maxThread.modeling.modeling-call}"
     )
-    public void buildScenePreHandler(Channel channel, Message message) throws Exception {
+    public void buildSceneHandler(Channel channel, Message message) throws Exception {
         String correlationId = message.getMessageProperties().getCorrelationId();
+        if (ObjectUtils.isEmpty(message.getBody())) {
+            SysConstants.SYSTEM_BUILDING = false;
+            log.error("消息体为空,退出构建,当前服务器:{}", SysConstants.hostName);
+            return;
+        }
         String msg = new String(message.getBody(), StandardCharsets.UTF_8);
-        BuildSceneMqMessage buildSceneMessage = JSONObject.parseObject(msg, BuildSceneMqMessage.class);
-        log.info("场景计算资源准备开始,队列名:{},id:{}", queueModelingPre, correlationId);
+        BuildSceneCallMessage buildSceneMessage = JSONObject.parseObject(msg, BuildSceneCallMessage.class);
+        log.info("场景计算开始,队列名:{},id:{},消息体:{}", queueModelingCall, correlationId,msg);
+        if(Objects.isNull(buildSceneMessage) || StrUtil.isBlank(buildSceneMessage.getSceneNum())){
+            log.error("消息内容错误,id:{},消息体:{}", correlationId, msg);
+            return;
+        }
+
         Thread.sleep(2000L);
-        buildScenePreService.buildScenePre(buildSceneMessage);
+        this.process(buildSceneMessage);
+
+        log.info("场景计算开始,队列名:{},id:{}", queueModelingCall, correlationId);
+
         channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
     }
 
+    public void process(BuildSceneCallMessage message) {
+
+        SysConstants.SYSTEM_BUILDING = true;
+        if (SysConstants.SYSTEM_OFFING) {
+            SysConstants.SYSTEM_BUILDING = false;
+            log.error("服务实例:{} 正在关闭,退出构建!", SysConstants.hostName);
+            throw new BusinessException(ServerCode.SERVER_CLOSING);
+        }
+        //开始计时
+        StopWatch watch = new StopWatch();
+        watch.start();
+
+        BuildLog buildLog = new BuildLog();
+        final BuildSceneResultBean buildSceneResult = new BuildSceneResultBean();
+        Future<ModelingBuildStatus> future = null;
+        try {
+
+            //休眠2秒等待准备数据
+            Thread.sleep(2000L);
+
+            //计算前准备
+            preBuild(message, buildLog);
+
+            future = SysConstants.executorService.submit(()->{
+                return buildScene(message, buildSceneResult);
+            });
+            future.get(SysConstants.modelTimeOut, TimeUnit.HOURS);
+
+            //结束计时
+            watch.stop();
+            buildLog.setDuration(watch.getTime(TimeUnit.SECONDS));
+        } catch (TimeoutException ex) {
+            log.error("服务实例:{} 构建异常:",SysConstants.hostName,ex);
+            buildSceneResult.setBuildStatus(ModelingBuildStatus.OVERTIME);
+        } catch (BuildException e){
+            buildSceneResult.setBuildStatus(e.getBuildStatus());
+        } catch(Exception e) {
+            log.error("服务实例:{} 构建异常:", SysConstants.hostName, e);
+            if (e.getCause() instanceof BuildException) {
+                buildSceneResult.setBuildStatus(((BuildException) e.getCause()).getBuildStatus());
+            } else {
+                buildSceneResult.setBuildStatus(ModelingBuildStatus.FAILED);
+                //未知异常,记录异常信息
+                buildLog.setReason(ExceptionUtil.stacktraceToString(e, 3000));
+            }
+        }
+        //计算后处理
+        afterBuild(message, buildSceneResult, buildLog);
+
+    }
+
+    private ModelingBuildStatus buildScene(BuildSceneCallMessage message, BuildSceneResultBean buildSceneResult) throws Exception{
+        Long computeTime = null;//计算耗时
+        String num = null;
+        //如果mq生产者在消息体中设置了结算结果mq队列名,就发到这个队列,否则就发送到默认队列
+        String resultQueueName = StrUtil.isNotBlank(message.getResultReceiverMqName()) ?
+            message.getResultReceiverMqName() : queueModelingPost;
+        //支付状态
+        int payStatus = 0;
+        String unicode = message.getUnicode();
+        String path = message.getPath();
+        String prefix = message.getPrefix();
+        num = message.getSceneNum();
+        //不同的相机不同的方法
+        String cameraType = message.getCameraType();
+        String algorithm = message.getAlgorithm();
+        String fileId = message.getFileId();
+        String cameraName = message.getCameraName();
+        //0表示有4k图,1表示没有
+        String resolution = message.getResolution();
+        //判断调用V2还是V3版本的算法
+        String buildType = ObjectUtils.isEmpty(message.getBuildType()) ? "V2" : message.getBuildType();
+
+        String dataPath = "data/data" + num;//老版本文件路径
+
+        Map<String,String> map = null;
+        Integer pushChannel = null;
+        String pushToken = null;
+        Integer videoVersion = null;
+
+        buildSceneResult.setResultQueueName(resultQueueName);
+        buildSceneResult.setCameraType(cameraType);
+        buildSceneResult.setNum(num);
+
+
+        Map<String, String> dataMap = ComputerUtil.getTypeString(cameraType, algorithm,
+            resolution);
+        String splitType = dataMap.get("splitType");
+        String skyboxType = dataMap.get("skyboxType");
+        String dataDescribe = dataMap.get("dataDescribe");
+
+        log.info("用的算法是:"+algorithm);
+        log.info("用的相机是:"+ (Integer.parseInt(cameraType) < 4 ? "单球目" : "双球目(八目)"));
+
+        //4表示硬件部研发的双球目相机,其余为旧版本相机
+        if(Integer.parseInt(cameraType) < 3){
+
+            String data = FileUtils.readFile(path + File.separator + "capture" +File.separator+"data.fdage");
+            JSONObject dataJson = new JSONObject();
+            if(data!=null){
+                dataJson = JSONObject.parseObject(data);
+                if(dataJson.containsKey("imgs")){
+                    splitType = "SPLIT_V4";
+                }
+            }
+            //生成project.json和data.json供算法部使用
+            ComputerUtil.createJson(path, splitType, skyboxType, dataDescribe, num, path);
+            //计算模型并返回需要上传oss的文件集合
+            map = ComputerUtil.computer(num, path, buildType);
+
+        } else {
+
+            path = SceneUtil.getPath(path, cameraName, fileId, Integer.parseInt(cameraType), unicode);
+
+            String dataFdagePath = path + File.separator + "capture" +File.separator+"data.fdage";
+            log.info("dataFdagePath 文件路径 :{}", dataFdagePath);
+            String data = FileUtils.readFile(dataFdagePath);
+            //获取data.fdage的内容
+            JSONObject dataJson = new JSONObject();
+            if(data!=null){
+                dataJson = JSONObject.parseObject(data);
+            }
+            pushChannel = dataJson.getInteger("pushChannel");
+            pushToken = dataJson.getString("pushToken");
+
+            /*
+             1、判断是否计算过资源,若计算过删除缓存, 如果caches中存在_images文件或者目录,就删除掉,否则就删除除了images以外的所有文件和目录
+             2、删除上一次计算出来的result目录
+             */
+            this.deleteCachesAndResult(path);
+
+            //v2版本使用4k算法
+            if(dataJson.containsKey("videoVersion")
+                && StringUtils.isNotEmpty(dataJson.getString("videoVersion"))
+                && Integer.parseInt(dataJson.getString("videoVersion")) < 4){
+                skyboxType = "SKYBOX_V6";
+            }
+
+            //生成project.json和data.json并写到path目录下供算法部使用
+            log.info("path:" + path);
+            ComputerUtil.createJson(path, splitType, skyboxType, dataDescribe, num, path);
+            //计算模型并返回需要上传oss的文件集合
+            map = ComputerUtil.computer(num, path, buildType);
+            //计算完成时间
+            log.info("计算完成耗时:{}",computeTime);
+
+            if(Integer.parseInt(cameraType) == 5 || Integer.parseInt(cameraType) == 6){
+                map.put(path + File.separator + "capture/stitch_params.txt", dataPath + "/stitch_params.txt");
+            }
+            map.put(path + File.separator + "capture/Up.xml", dataPath + "/Up.xml");
+            map.put(path + File.separator + "capture/Up2.xml", dataPath + "/Up2.xml");
+
+            //转台相机
+            if(Integer.parseInt(cameraType) == 13){
+                map.put(path + File.separator + "capture/Up.txt", dataPath + "/Up.txt");
+                map.put(path + File.separator + "capture/Up2.txt", dataPath + "/Up2.txt");
+            }
+
+            //计算已使用容量
+            payStatus = 1;
+
+            log.info("八目上完oss结束修改数据:"+num);
+
+            //读取计算结果文件生成videosJson
+            String videoVersionStr = dataJson.getString("videoVersion");
+            videoVersion = StrUtil.isEmpty(videoVersionStr) ? null : Integer.parseInt(videoVersionStr);
+
+            //计算成功  激光转台相机 同步 请求
+            this.jgSynch(message);
+        }
+
+        buildSceneResult.setBuildStatus(ModelingBuildStatus.SUCCESS);
+        buildSceneResult.setFileId(fileId);
+        buildSceneResult.setPayStatus(payStatus);
+        buildSceneResult.setUploadMap(map);
+        buildSceneResult.setPath(path);
+        buildSceneResult.setPushChannel(pushChannel);
+        buildSceneResult.setPushToken(pushToken);
+        buildSceneResult.setPrefix(prefix);
+        buildSceneResult.setVideoVersion(videoVersion);
+
+        CreateObjUtil.deleteFile(path.replace(ConstantFilePath.BUILD_MODEL_PATH, "/") + "/capture");
+
+        return ModelingBuildStatus.SUCCESS;
+    }
+
+    private void afterBuild(BuildSceneCallMessage message, BuildSceneResultBean buildSceneResult, BuildLog buildLog){
+        try {
+            ModelingBuildStatus buildStatus = buildSceneResult.getBuildStatus();
+            String buildLogPath = String.format(UploadFilePath.BUILD_LOG_PATH, message.getSceneNum());
+            log.info("服务{} 计算结束:{},计算状态:{}", SysConstants.hostName, buildLog.getNum(),buildStatus.message());
+
+            if(!buildStatus.equals(ModelingBuildStatus.REPEAT)){
+                //释放锁
+                redisUtil.del(String.format(RedisKey.SCENE_BUILDING, message.getSceneNum()));
+
+                //生成status.json文件
+                this.upoadLog(message.getSceneStatus(), message.getWebSite(),
+                    message.getSceneNum(),message.getThumb(),message.getPayStatus(), message.getDataSource());
+
+                //如果是重复计算,没有走到计算逻辑,不需要上传日志文件
+                buildLog.setLogDetailPath(prefixAli+ buildLogPath + "console.log");
+            }
+            buildLog.setBuildStatus(buildStatus.code());
+            buildLog.setCameraType(Integer.parseInt(buildSceneResult.getCameraType()));
+            buildLogService.updateById(buildLog);
+
+        } catch (Exception e) {
+            log.error("计算后业务处理出错!", e);
+        }finally {
+            //发送计算结果mq
+            buildSceneResult.setDuration(buildLog.getDuration());
+            this.sendCallResult(message, buildSceneResult);
+
+            //计算完毕,将当前系统构建状态改为false
+            SysConstants.SYSTEM_BUILDING = false;
+        }
+    }
+
+    private void preBuild(BuildSceneCallMessage message, BuildLog buildLog) throws BuildException {
+
+        // 初始化日志参数
+        buildLog.setHostName(SysConstants.hostName);
+        buildLog.setQueueName(queueModelingCall);
+        buildLog.setNum(message.getSceneNum());
+        buildLog.setDataSource(message.getDataSource());
+        buildLogService.save(buildLog);
+    }
+
+    /**
+     * 发送计算结果
+     * @param message
+     * @param buildSceneResult
+     */
+    private void sendCallResult(BuildSceneCallMessage message, BuildSceneResultBean buildSceneResult){
+        ModelingBuildStatus buildStatus = buildSceneResult.getBuildStatus();
+        //重复计算不需要发送mq做后置处理
+        if(buildStatus.equals(ModelingBuildStatus.REPEAT)){
+            return;
+        }
+        boolean buildSuccess = buildStatus.equals(ModelingBuildStatus.SUCCESS) ? true : false;
+        rabbitMqProducer.sendByWorkQueue(queueModelingPost,
+            BuildSceneResultMqMessage.builder()
+                .buildSuccess(buildSuccess)
+                .cameraType(buildSceneResult.getCameraType())
+                .computeTime(buildSceneResult.getDuration())
+                .fileId(buildSceneResult.getFileId())
+                .payStatus(buildSceneResult.getPayStatus())
+                .sceneCode(message.getSceneNum())
+                .uploadFiles(buildSceneResult.getUploadMap())
+                .path(buildSceneResult.getPath())
+                .pushChannel(buildSceneResult.getPushChannel())
+                .pushToken(buildSceneResult.getPushToken())
+                .prefix(buildSceneResult.getPrefix())
+                .videoVersion(buildSceneResult.getVideoVersion())
+                .build());
+        //如果是计算失败,需要发送钉钉
+        if(!buildSuccess){
+            // TODO: 2022/1/25 测试阶段,先注释掉推送
+            this.sendDingTalkMq(buildStatus.message(), message);
+        }
+    }
+
+    private void upoadLog(Integer sceneStatus, String webSite,
+        String num, String thumb, Integer payStatus, String dataSource){
+        try{
+            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", num);
+            statusJson.put("thumb", thumb);
+            statusJson.put("payStatus", payStatus);
+            FileUtils.writeFile(ConstantFilePath.SCENE_PATH+"data/data"+num+File.separator+"status.json", statusJson.toString());
+
+            String dataPath = String.format(UploadFilePath.DATA_VIEW_PATH, num);
+            String buildLogPath = String.format(UploadFilePath.BUILD_LOG_PATH, num);
+
+            //todo 待删除old_path
+            uploadToOssUtil.upload(
+                ConstantFilePath.SCENE_PATH + "data/data" + num + File.separator + "status.json",
+                "data/data" + num + File.separator + "status.json");
+
+            uploadToOssUtil.upload(
+                ConstantFilePath.SCENE_PATH + "data/data" + num + File.separator + "status.json",
+                dataPath + "status.json");
+
+            uploadToOssUtil.upload(dataSource + File.separator + "console.log",
+                buildLogPath + "console.log");
+
+        }catch (Exception e){
+            log.error("上传日志失败!", e);
+        }
+    }
+
+    private void jgSynch(BuildSceneCallMessage message){
+        log.info("激光转台相机 同步 请求 ");
+        if(Integer.parseInt(message.getCameraType()) != 14)
+            return;
+
+        String sceneName = message.getSceneName();
+        String dataSource = message.getDataSource();
+        Long userId = message.getUserId();
+        String userName = message.getUserName();
+        String cameraName = message.getCameraName();
+        try {
+            String title = "";
+            if(StringUtils.isNotEmpty(sceneName)){
+                title = sceneName;
+            }
+//                        String dataSource = sceneProExt.getDataSource();
+            String jgPath = dataSource;
+            //创建目录
+            if(dataSource.lastIndexOf("/")!=-1){
+                jgPath = jgPath + "_laserData";
+            }else{
+                jgPath = jgPath.substring(0,jgPath.length()-1) + "_laserData";
+            }
+
+            FileUtils.createDir(jgPath+"/extras");
+
+            log.info("生成 激光相机目录 " + jgPath);
+            //生成data.json
+            JSONObject jgDataJson = new JSONObject();
+            jgDataJson.put("split_type", "SPLIT_V15");
+            jgDataJson.put("skybox_type", "SKYBOX_V5");
+            jgDataJson.put("extras", null);
+            FileUtils.writeFile(jgPath + File.separator + "data.json", jgDataJson.toString());
+
+            CreateObjUtil.cpfile(dataSource  + "/results/laserData/cover", jgPath+"/extras/");
+            CreateObjUtil.cplaserfile(dataSource  + "/results/laserData", jgPath+File.separator);
+
+            //激光相机
+            String url = laserHost+"/indoor/{sceneCode}/api/init?path="
+                + jgPath + File.separator + "laserData" + "&title="+ title
+                + "&childName=" + cameraName + "&createTime=" +  message.getSceneProCreateTime()
+                + "&snCode="+ cameraName;
+
+            if(userId!=null){
+                url = url + "&userId=" + userId;
+            }
+
+            if(StringUtils.isNotEmpty(userName)){
+                url = url + "&phone=" + userName;
+            }
+
+            url = url.replace("{sceneCode}",message.getSceneNum());
+            log.info("激光转台相机 同步 :" + url);
+            JSONObject hotListJson =
+                JSONObject.parseObject(restTemplate.getForObject(url,String.class));
+            log.info("激光转台相机 同步结束 :" + hotListJson);
+        }catch (Exception e){
+            log.error("激光转台相机同步失败", e);
+            // TODO: 2022/1/25 测试阶段,先注释掉推送
+//            this.sendDingTalkMq("激光转台相机同步失败", message);
+        }
+    }
+
+    private void deleteCachesAndResult(String path){
+        //判断是否计算过资源,若计算过删除缓存, 如果caches中存在_images文件或者目录,就删除掉,否则就删除除了images以外的所有文件和目录
+        File caches = new File(path + File.separator + "caches");
+        if(caches.exists()){
+            for(File deleteFile : caches.listFiles()){
+                if(new File(path + "_images").exists()){
+                    if(deleteFile.isDirectory()){
+                        FileUtils.delAllFile(deleteFile.getAbsolutePath());
+                    }else {
+                        FileUtils.deleteFile(deleteFile.getAbsolutePath());
+                    }
+                }else if(!deleteFile.getAbsolutePath().contains("images")){
+                    if(deleteFile.isDirectory()){
+                        FileUtils.delAllFile(deleteFile.getAbsolutePath());
+                    }else {
+                        FileUtils.deleteFile(deleteFile.getAbsolutePath());
+                    }
+                }
+            }
+        }
+        //删除上一次计算出来的result目录
+        if(new File(path + File.separator + "results").exists()){
+            FileUtils.delAllFile(path + File.separator + "results");
+        }
+    }
+
+    private void sendDingTalkMq(String reason,BuildSceneCallMessage message){
+        String serverPath = message.getPath().substring(0,message.getPath().lastIndexOf("/")+1).concat(message.getPrefix());
+        rabbitMqProducer.sendByWorkQueue(
+            queueModelingDt,
+            BuildSceneFailDTMqMessage.builder()
+            .hostName(SysConstants.hostName)
+            .reason(reason)
+            .num(message.getSceneNum())
+            .serverPath(serverPath)
+            .build());
+    }
+
 }

+ 3 - 3
4dkankan-center-modeling/src/main/resources/bootstrap-dev.yml

@@ -20,9 +20,9 @@ spring:
             group: DEFAULT_GROUP
             refresh: true
 
-          - data-id: common-mq-config.yaml
-            group: DEFAULT_GROUP
-            refresh: true
+#          - data-id: common-mq-config.yaml
+#            group: DEFAULT_GROUP
+#            refresh: true
 
           - data-id: common-rabbitmq-config.yaml
             group: DEFAULT_GROUP

+ 3 - 3
4dkankan-center-modeling/src/main/resources/bootstrap-pro.yml

@@ -16,9 +16,9 @@ spring:
             group: DEFAULT_GROUP
             refresh: true
 
-          - data-id: common-mq-config.yaml
-            group: DEFAULT_GROUP
-            refresh: true
+#          - data-id: common-mq-config.yaml
+#            group: DEFAULT_GROUP
+#            refresh: true
 
           - data-id: common-rabbitmq-config.yaml
             group: DEFAULT_GROUP

+ 5 - 5
4dkankan-center-modeling/src/main/resources/bootstrap-test.yml

@@ -4,7 +4,7 @@ spring:
   cloud:
     nacos:
       config:
-        server-addr: 172.18.156.39:8848
+        server-addr: 120.24.144.164:8848
         file-extension: yaml
         namespace: 4dkankan-test
         extension-configs:
@@ -16,9 +16,9 @@ spring:
             group: DEFAULT_GROUP
             refresh: true
 
-          - data-id: common-mq-config.yaml
-            group: DEFAULT_GROUP
-            refresh: true
+#          - data-id: common-mq-config.yaml
+#            group: DEFAULT_GROUP
+#            refresh: true
 
           - data-id: common-rabbitmq-config.yaml
             group: DEFAULT_GROUP
@@ -32,7 +32,7 @@ spring:
             group: DEFAULT_GROUP
             refresh: true
       discovery:
-        server-addr: 172.18.156.39:8848
+        server-addr: 120.24.144.164:8848
         namespace: 4dkankan-test
         metadata:
           management:

+ 2 - 2
4dkankan-center-platform/src/main/resources/bootstrap-test.yml

@@ -4,7 +4,7 @@ spring:
   cloud:
     nacos:
       config:
-        server-addr: 172.18.156.39:8848
+        server-addr: 120.24.144.164:8848
         file-extension: yaml
         namespace: 4dkankan-test
         extension-configs:
@@ -37,7 +37,7 @@ spring:
             refresh: true
 
       discovery:
-        server-addr: 172.18.156.39:8848
+        server-addr: 120.24.144.164:8848
         namespace: 4dkankan-test
         metadata:
           management:

+ 5 - 5
4dkankan-center-scene/pom.xml

@@ -35,11 +35,11 @@
             <version>2.0.0-SNAPSHOT</version>
         </dependency>
 
-        <dependency>
-            <groupId>com.fdkankan</groupId>
-            <artifactId>4dkankan-utils-mq</artifactId>
-            <version>2.0.0-SNAPSHOT</version>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>com.fdkankan</groupId>-->
+<!--            <artifactId>4dkankan-utils-mq</artifactId>-->
+<!--            <version>2.0.0-SNAPSHOT</version>-->
+<!--        </dependency>-->
         <dependency>
             <groupId>com.fdkankan</groupId>
             <artifactId>4dkankan-utils-rabbitmq</artifactId>

+ 2 - 38
4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/TestController.java

@@ -5,13 +5,12 @@ import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.common.controller.BaseController;
 import com.fdkankan.common.response.ResultData;
 import com.fdkankan.common.util.SpringUtil;
-import com.fdkankan.mq.message.BuildSceneMqMessage;
-import com.fdkankan.mq.util.RocketMQProducer;
 import com.fdkankan.platform.api.dto.Camera;
 import com.fdkankan.platform.api.dto.Company;
 import com.fdkankan.platform.api.dto.User;
 import com.fdkankan.platform.api.feign.PlatformGoodsClient;
 import com.fdkankan.platform.api.feign.PlatformUserClient;
+import com.fdkankan.rabbitmq.bean.BuildSceneCallMessage;
 import com.fdkankan.rabbitmq.config.ModelingQueueConfig;
 import com.fdkankan.rabbitmq.util.RabbitMqProducer;
 import com.fdkankan.redis.util.RedisLockUtil;
@@ -19,14 +18,12 @@ import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.scene.service.IFolderService;
 import com.fdkankan.scene.service.IScene3dNumService;
 import com.fdkankan.scene.service.ISceneService;
-import com.fdkankan.scene.vo.SceneVO;
 import com.google.common.collect.Lists;
 import com.yomahub.tlog.task.spring.SpringScheduledTaskAop;
 import java.sql.SQLException;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.UUID;
 import javax.sql.DataSource;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.amqp.rabbit.core.RabbitTemplate;
@@ -65,9 +62,6 @@ public class TestController extends BaseController {
     private PlatformGoodsClient platformGoodsClient;
 
     @Autowired
-    private RocketMQProducer rocketMQProducer;
-
-    @Autowired
     private IScene3dNumService scene3dNumService;
 
     @Autowired
@@ -136,7 +130,7 @@ public class TestController extends BaseController {
 //        log.info(bean.generateTraceId());
 
         for(int i=0; i<5; i++){
-            BuildSceneMqMessage message = new BuildSceneMqMessage();
+            BuildSceneCallMessage message = new BuildSceneCallMessage();
             message.setFileId("hhjjS鬼地方个" + "-" + i);
             rabbitMqProducer.sendByWorkQueue(modelingQueueConfig.modelingPre, message);
         }
@@ -249,36 +243,6 @@ public class TestController extends BaseController {
         sceneService.updatePv();
     }
 
-    @Value("${rocketmq.build-scene.topicName.topic-modeling-a}")
-    private String topicModelingA;
-
-    @GetMapping("/testMQ")
-    public void testMQ(int count){
-//        SceneVO body = SceneVO.builder().buildType("123").childName("sdfsdfsdf").dataSource("sadfdhgf").id(1213L).build();
-        for(int i = 1; i <= count; i++){
-            rocketMQProducer.sendOneWay("test_topic_dsx", "消息体" + i);
-        }
-    }
-
-    @GetMapping("/testAsynMQ")
-    public void testAsynMQ(){
-        SceneVO body = SceneVO.builder().buildType("123").childName("sdfsdfsdf").dataSource("sadfdhgf").id(1213L).build();
-        rocketMQProducer.asyncSend("abc","tag3", UUID.randomUUID().toString(), body,null,5000l);
-    }
-
-    @GetMapping("/testsenOnway")
-    public void testsenOnway(){
-        SceneVO body = SceneVO.builder().buildType("123").childName("sdfsdfsdf").dataSource("sadfdhgf").id(1213L).build();
-        rocketMQProducer.sendOneWay("qqq","tag6", UUID.randomUUID().toString(), body);
-    }
-
-    @RefreshScope
-    @GetMapping("/testsenOnway1")
-    public void testsenOnway1(){
-        SceneVO body = SceneVO.builder().buildType("123").childName("sdfsdfsdf").dataSource("sadfdhgf").id(1213L).build();
-        rocketMQProducer.sendOneWay(topicModelingA, null);
-    }
-
     @RefreshScope
     @GetMapping("/testResult")
     public void testResult(){

+ 1 - 4
4dkankan-center-scene/src/main/java/com/fdkankan/scene/entity/SceneProPO.java

@@ -1,12 +1,9 @@
 package com.fdkankan.scene.entity;
 
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.fdkankan.mq.message.BuildSceneMqMessage;
+import java.util.Date;
 import lombok.Data;
 import org.springframework.data.annotation.Transient;
 
-import java.util.Date;
-
 @Data
 public class SceneProPO {
 

+ 4 - 4
4dkankan-center-scene/src/main/java/com/fdkankan/scene/listener/RabbitMqListener.java

@@ -1,9 +1,9 @@
 package com.fdkankan.scene.listener;
 
 import com.alibaba.fastjson.JSONObject;
-import com.fdkankan.mq.message.BuildSceneFailDTMqMessage;
-import com.fdkankan.mq.message.BuildSceneMqMessage;
-import com.fdkankan.mq.message.BuildSceneResultMqMessage;
+import com.fdkankan.rabbitmq.bean.BuildSceneCallMessage;
+import com.fdkankan.rabbitmq.bean.BuildSceneFailDTMqMessage;
+import com.fdkankan.rabbitmq.bean.BuildSceneResultMqMessage;
 import com.fdkankan.scene.service.IBuildSceneDTService;
 import com.fdkankan.scene.service.IBuildScenePostService;
 import com.fdkankan.scene.service.IBuildScenePreService;
@@ -77,7 +77,7 @@ public class RabbitMqListener {
     public void buildScenePreHandler(Channel channel, Message message) throws Exception {
         String correlationId = message.getMessageProperties().getCorrelationId();
         String msg = new String(message.getBody(), StandardCharsets.UTF_8);
-        BuildSceneMqMessage buildSceneMessage = JSONObject.parseObject(msg, BuildSceneMqMessage.class);
+        BuildSceneCallMessage buildSceneMessage = JSONObject.parseObject(msg, BuildSceneCallMessage.class);
         log.info("场景计算资源准备开始,队列名:{},id:{}", queueModelingPre, correlationId);
         Thread.sleep(2000L);
         buildScenePreService.buildScenePre(buildSceneMessage);

+ 0 - 69
4dkankan-center-scene/src/main/java/com/fdkankan/scene/listener/TestListener.java

@@ -1,69 +0,0 @@
-package com.fdkankan.scene.listener;
-
-import com.alibaba.fastjson.JSON;
-import com.fdkankan.mq.message.BuildSceneMqMessage;
-import com.fdkankan.mq.util.RocketMQProducer;
-import com.yomahub.tlog.core.mq.TLogMqConsumerProcessor;
-import com.yomahub.tlog.core.mq.TLogMqRunner;
-import com.yomahub.tlog.core.mq.TLogMqWrapBean;
-import lombok.Data;
-import lombok.SneakyThrows;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.rocketmq.spring.annotation.ConsumeMode;
-import org.apache.rocketmq.spring.annotation.MessageModel;
-import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
-import org.apache.rocketmq.spring.core.RocketMQListener;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Component;
-
-
-@Slf4j
-@Component
-@RocketMQMessageListener(
-        consumerGroup = "test_group_dsx",
-        topic = "test_topic_dsx",
-        messageModel = MessageModel.CLUSTERING,
-        consumeThreadMax = 1,
-        consumeTimeout = 7200000L
-)
-@Data
-public class TestListener implements RocketMQListener<TLogMqWrapBean<BuildSceneMqMessage>> {
-
-    @Value("${rocketmq.build-scene-result.topicName.topic-modeling-a}")
-    private String buildSceneResultTopic;
-    @Autowired
-    private RocketMQProducer rocketMQProducer;
-
-
-//    @SneakyThrows
-//    @Override
-//    public void onMessage(String message) {
-//
-//        System.out.println("开始消费:" + message + "线程id=" + Thread.currentThread().getName());
-//
-//        buildSceneResultTopic = "123123123123";
-//
-//
-//        Thread.sleep(3600000L);
-//
-//
-//
-//        System.out.println("结束消费:" + message);
-//
-//
-//    }
-
-    @Override
-    public void onMessage(TLogMqWrapBean<BuildSceneMqMessage> buildSceneMqMessageTLogMqWrapBean) {
-
-        TLogMqConsumerProcessor.process(buildSceneMqMessageTLogMqWrapBean, new TLogMqRunner<BuildSceneMqMessage>() {
-            @Override
-            public void mqConsume(BuildSceneMqMessage o) {
-                log.info(JSON.toJSONString(o));
-                TLogMqWrapBean<BuildSceneMqMessage> tLogMqWrap = new TLogMqWrapBean(o);
-                rocketMQProducer.syncSend("test_topic_dsx2", tLogMqWrap);
-            }
-        });
-    }
-}

+ 0 - 66
4dkankan-center-scene/src/main/java/com/fdkankan/scene/listener/TestListener2.java

@@ -1,66 +0,0 @@
-package com.fdkankan.scene.listener;
-
-import com.alibaba.fastjson.JSON;
-import com.fdkankan.mq.message.BuildSceneMqMessage;
-import com.fdkankan.mq.util.RocketMQProducer;
-import com.yomahub.tlog.core.mq.TLogMqConsumerProcessor;
-import com.yomahub.tlog.core.mq.TLogMqRunner;
-import com.yomahub.tlog.core.mq.TLogMqWrapBean;
-import lombok.Data;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.rocketmq.spring.annotation.MessageModel;
-import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
-import org.apache.rocketmq.spring.core.RocketMQListener;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Component;
-
-
-@Slf4j
-@Component
-@RocketMQMessageListener(
-        consumerGroup = "test_group_dsx2",
-        topic = "test_topic_dsx2",
-        messageModel = MessageModel.CLUSTERING,
-        consumeThreadMax = 1,
-        consumeTimeout = 7200000L
-)
-@Data
-public class TestListener2 implements RocketMQListener<TLogMqWrapBean<BuildSceneMqMessage>> {
-
-    @Value("${rocketmq.build-scene-result.topicName.topic-modeling-a}")
-    private String buildSceneResultTopic;
-    @Autowired
-    private RocketMQProducer rocketMQProducer;
-
-
-//    @SneakyThrows
-//    @Override
-//    public void onMessage(String message) {
-//
-//        System.out.println("开始消费:" + message + "线程id=" + Thread.currentThread().getName());
-//
-//        buildSceneResultTopic = "123123123123";
-//
-//
-//        Thread.sleep(3600000L);
-//
-//
-//
-//        System.out.println("结束消费:" + message);
-//
-//
-//    }
-
-    @Override
-    public void onMessage(TLogMqWrapBean<BuildSceneMqMessage> buildSceneMqMessageTLogMqWrapBean) {
-
-        TLogMqConsumerProcessor.process(buildSceneMqMessageTLogMqWrapBean, new TLogMqRunner<BuildSceneMqMessage>() {
-            @Override
-            public void mqConsume(BuildSceneMqMessage o) {
-                log.info(JSON.toJSONString(o));
-                TLogMqWrapBean<BuildSceneMqMessage> tLogMqWrap = new TLogMqWrapBean(o);
-            }
-        });
-    }
-}

+ 0 - 2
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/IBuildSceneDTService.java

@@ -1,7 +1,5 @@
 package com.fdkankan.scene.service;
 
-import com.fdkankan.mq.message.BuildSceneResultMqMessage;
-
 /**
  * <p>
  * TODO

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

@@ -1,14 +1,6 @@
 package com.fdkankan.scene.service;
 
-import com.alibaba.fastjson.JSONObject;
-import com.fdkankan.mq.message.BuildSceneMqMessage;
-import com.fdkankan.mq.message.BuildSceneResultMqMessage;
-import com.fdkankan.scene.entity.SceneEditControls;
-import com.fdkankan.scene.entity.SceneEditInfo;
-import com.fdkankan.scene.entity.ScenePlus;
-import com.fdkankan.scene.entity.ScenePlusExt;
-import java.io.IOException;
-import java.util.Map;
+import com.fdkankan.rabbitmq.bean.BuildSceneResultMqMessage;
 
 /**
  * <p>

+ 4 - 31
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/IBuildScenePreService.java

@@ -1,15 +1,7 @@
 package com.fdkankan.scene.service;
 
 import com.alibaba.fastjson.JSONObject;
-import com.fdkankan.mq.message.BuildSceneMqMessage;
-import com.fdkankan.scene.entity.SceneEditControls;
-import com.fdkankan.scene.entity.SceneEditInfo;
-import com.fdkankan.scene.entity.ScenePlus;
-import com.fdkankan.scene.entity.ScenePlusExt;
-import com.fdkankan.scene.entity.ScenePro;
-import com.fdkankan.scene.entity.SceneProExt;
-import java.io.IOException;
-import java.util.Date;
+import com.fdkankan.rabbitmq.bean.BuildSceneCallMessage;
 import java.util.Map;
 
 /**
@@ -22,33 +14,14 @@ import java.util.Map;
  **/
 public interface IBuildScenePreService {
 
-    void buildScenePre(BuildSceneMqMessage message);
+    void buildScenePre(BuildSceneCallMessage message);
 
     Map<String, String> getTypeString(String cameraType, String algorithm, String resolution, JSONObject dataJson);
 
-    String getPath(BuildSceneMqMessage buildSceneMqMessage) throws Exception;
+    String getPath(BuildSceneCallMessage buildSceneMqMessage) throws Exception;
 
-    void downLoadSource(BuildSceneMqMessage buildSceneMqMessage, String path) throws Exception;
-
-//    Map<String, String> uploadFileMapHandler(String num, int cameraType, Map<String, String> map);
-
-//    void uploadCaches(String num, Map<String,String> map, String path);
-
-//    void copyToEditDir(String num) throws IOException;
-
-//    void sendSms(Integer pushChannel, String pushToken, int cameraType, String sceneName, String webSite);
-
-//    void handFail(String reason, String serverPath, String num, String hostName, String contentExt);
-
-//    Long calUseSpace(Map<String, String> uploadFile);
+    void downLoadSource(BuildSceneCallMessage buildSceneMqMessage, String path) throws Exception;
 
     void uploadLogFile(String num, String dataSource);
 
-//    JSONObject getVideosJson(String path, Integer videoVersion, String projectNum, int cameraType) throws Exception ;
-
-//    String writeSceneJson(String num, JSONObject videoJson, SceneEditInfo sceneEditInfo, SceneEditControls sceneEditControls,
-//        ScenePlus scenePlus, ScenePlusExt scenePlusExt, boolean arrearCap) throws Exception;
-
-
-
 }

+ 1 - 2
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/BuildScenePostServiceImpl.java

@@ -34,14 +34,13 @@ import com.fdkankan.common.util.FileUtils;
 import com.fdkankan.common.util.MatrixToImageWriterUtil;
 import com.fdkankan.fyun.constant.StorageType;
 import com.fdkankan.fyun.oss.UploadToOssUtil;
-import com.fdkankan.mq.message.BuildSceneMqMessage;
-import com.fdkankan.mq.message.BuildSceneResultMqMessage;
 import com.fdkankan.platform.api.dto.CameraDetail;
 import com.fdkankan.platform.api.dto.UserIncrement;
 import com.fdkankan.platform.api.feign.PlatformGoodsClient;
 import com.fdkankan.platform.api.feign.PlatformUserClient;
 import com.fdkankan.push.PushMessageConfig;
 import com.fdkankan.push.PushMsgUtil;
+import com.fdkankan.rabbitmq.bean.BuildSceneResultMqMessage;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.scene.bean.SceneJsonBean;

+ 4 - 40
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/BuildScenePreServiceImpl.java

@@ -1,65 +1,29 @@
 package com.fdkankan.scene.service.impl;
 
-import static com.fdkankan.push.PushMessageConfig.ANDROID_KEY;
-import static com.fdkankan.push.PushMessageConfig.ANDROID_KEY_Z;
-import static com.fdkankan.push.PushMessageConfig.ANDROID_SECRET;
-import static com.fdkankan.push.PushMessageConfig.ANDROID_SECRET_Z;
-import static com.fdkankan.push.PushMessageConfig.IOS_KEY;
-import static com.fdkankan.push.PushMessageConfig.IOS_KEY_Z;
-import static com.fdkankan.push.PushMessageConfig.IOS_SECRET;
-import static com.fdkankan.push.PushMessageConfig.IOS_SECRET_Z;
-
-import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.util.StrUtil;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.common.constant.ConstantFilePath;
-import com.fdkankan.common.constant.ConstantUrl;
-import com.fdkankan.common.constant.PayStatus;
 import com.fdkankan.common.constant.UploadFilePath;
 import com.fdkankan.common.util.CreateObjUtil;
 import com.fdkankan.common.util.FileUtil;
 import com.fdkankan.common.util.FileUtils;
 import com.fdkankan.common.util.SceneUtil;
 import com.fdkankan.dingtalk.DingTalkSendUtils;
-import com.fdkankan.fyun.constant.StorageType;
 import com.fdkankan.fyun.oss.UploadToOssUtil;
-import com.fdkankan.mq.message.BuildSceneMqMessage;
 import com.fdkankan.platform.api.feign.PlatformGoodsClient;
 import com.fdkankan.platform.api.feign.PlatformUserClient;
-import com.fdkankan.push.PushMessageConfig;
-import com.fdkankan.push.PushMsgUtil;
+import com.fdkankan.rabbitmq.bean.BuildSceneCallMessage;
 import com.fdkankan.rabbitmq.util.RabbitMqProducer;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
-import com.fdkankan.scene.bean.SceneJsonBean;
-import com.fdkankan.scene.entity.SceneEditControls;
-import com.fdkankan.scene.entity.SceneEditInfo;
-import com.fdkankan.scene.entity.ScenePlus;
-import com.fdkankan.scene.entity.ScenePlusExt;
 import com.fdkankan.scene.service.IBuildSceneDTService;
 import com.fdkankan.scene.service.IBuildScenePreService;
 import com.fdkankan.scene.service.IScenePlusService;
-import com.fdkankan.scene.vo.SceneEditControlsVO;
-import com.taobao.api.ApiException;
 import java.io.File;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.security.InvalidKeyException;
-import java.security.NoSuchAlgorithmException;
 import java.time.Duration;
 import java.time.temporal.ChronoUnit;
 import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Objects;
-import java.util.concurrent.CompletableFuture;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -128,7 +92,7 @@ public class BuildScenePreServiceImpl implements IBuildScenePreService {
 
 
     @Override
-    public void buildScenePre(BuildSceneMqMessage message) {
+    public void buildScenePre(BuildSceneCallMessage message) {
         boolean success = false;
         try {
             String key = String.format(RedisKey.SCENE_BUILDING, message.getSceneNum());
@@ -173,7 +137,7 @@ public class BuildScenePreServiceImpl implements IBuildScenePreService {
     }
 
     @Override
-    public String getPath(BuildSceneMqMessage buildSceneMqMessage) throws Exception{
+    public String getPath(BuildSceneCallMessage buildSceneMqMessage) throws Exception{
         String path = buildSceneMqMessage.getPath();
         String cameraName = buildSceneMqMessage.getCameraName();
         String fileId = buildSceneMqMessage.getFileId();
@@ -197,7 +161,7 @@ public class BuildScenePreServiceImpl implements IBuildScenePreService {
     }
 
     @Override
-    public void downLoadSource(BuildSceneMqMessage buildSceneMqMessage,String path) throws Exception{
+    public void downLoadSource(BuildSceneCallMessage buildSceneMqMessage,String path) throws Exception{
         String cameraName = buildSceneMqMessage.getCameraName();
         String fileId = buildSceneMqMessage.getFileId();
         String unicode = buildSceneMqMessage.getUnicode();

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

@@ -12,24 +12,97 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.common.config.FileRouteConfig;
-import com.fdkankan.common.constant.*;
+import com.fdkankan.common.constant.CameraConstant;
+import com.fdkankan.common.constant.CommonStatus;
+import com.fdkankan.common.constant.Constant;
+import com.fdkankan.common.constant.ConstantFilePath;
+import com.fdkankan.common.constant.ConstantUrl;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.constant.SceneStatus;
+import com.fdkankan.common.constant.TbStatus;
+import com.fdkankan.common.constant.UploadFilePath;
+import com.fdkankan.common.constant.UploadStatus;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.response.ResultData;
 import com.fdkankan.common.user.SSOUser;
-import com.fdkankan.common.util.*;
+import com.fdkankan.common.util.ComputerUtil;
+import com.fdkankan.common.util.CreateObjUtil;
+import com.fdkankan.common.util.DateExtUtil;
+import com.fdkankan.common.util.FileMd5Util;
+import com.fdkankan.common.util.FileUpload;
+import com.fdkankan.common.util.FileUtil;
+import com.fdkankan.common.util.FileUtils;
+import com.fdkankan.common.util.MatrixToImageWriterUtil;
+import com.fdkankan.common.util.RSAEncrypt;
+import com.fdkankan.common.util.SnowflakeIdGenerator;
 import com.fdkankan.fyun.oss.UploadToOssUtil;
-import com.fdkankan.mq.message.BuildSceneMqMessage;
-import com.fdkankan.mq.util.RocketMQProducer;
-import com.fdkankan.platform.api.feign.PlatformGoodsClient;
-import com.fdkankan.platform.api.feign.PlatformUserClient;
 import com.fdkankan.platform.api.dto.Camera;
 import com.fdkankan.platform.api.dto.CameraDetail;
 import com.fdkankan.platform.api.dto.Company;
+import com.fdkankan.platform.api.feign.PlatformGoodsClient;
+import com.fdkankan.platform.api.feign.PlatformUserClient;
+import com.fdkankan.rabbitmq.bean.BuildSceneCallMessage;
+import com.fdkankan.rabbitmq.util.RabbitMqProducer;
 import com.fdkankan.redis.util.RedisUtil;
-import com.fdkankan.scene.entity.*;
+import com.fdkankan.scene.entity.PicSceneProgress;
+import com.fdkankan.scene.entity.Scene;
+import com.fdkankan.scene.entity.SceneCooperation;
+import com.fdkankan.scene.entity.SceneEditControls;
+import com.fdkankan.scene.entity.SceneEditInfo;
+import com.fdkankan.scene.entity.SceneEditInfoExt;
+import com.fdkankan.scene.entity.SceneExt;
+import com.fdkankan.scene.entity.SceneFileBuild;
+import com.fdkankan.scene.entity.SceneFileUpload;
+import com.fdkankan.scene.entity.ScenePO;
+import com.fdkankan.scene.entity.ScenePlus;
+import com.fdkankan.scene.entity.ScenePlusExt;
+import com.fdkankan.scene.entity.ScenePro;
+import com.fdkankan.scene.entity.SceneProEdit;
+import com.fdkankan.scene.entity.SceneProEditExt;
+import com.fdkankan.scene.entity.SceneProExt;
+import com.fdkankan.scene.entity.SceneProPO;
+import com.fdkankan.scene.entity.SceneResourceCamera;
+import com.fdkankan.scene.entity.SceneResourceCooperation;
+import com.fdkankan.scene.entity.VideoSceneProgress;
 import com.fdkankan.scene.mapper.ISceneFileBuildMapper;
-import com.fdkankan.scene.service.*;
-import com.fdkankan.scene.vo.*;
+import com.fdkankan.scene.service.IFdkkLaserService;
+import com.fdkankan.scene.service.IPicSceneProgressService;
+import com.fdkankan.scene.service.IScene3dNumService;
+import com.fdkankan.scene.service.ISceneCooperationService;
+import com.fdkankan.scene.service.ISceneEditControlsService;
+import com.fdkankan.scene.service.ISceneEditInfoExtService;
+import com.fdkankan.scene.service.ISceneEditInfoService;
+import com.fdkankan.scene.service.ISceneExtService;
+import com.fdkankan.scene.service.ISceneFileBuildService;
+import com.fdkankan.scene.service.ISceneFileUploadService;
+import com.fdkankan.scene.service.IScenePlusExtService;
+import com.fdkankan.scene.service.IScenePlusService;
+import com.fdkankan.scene.service.ISceneProEditExtService;
+import com.fdkankan.scene.service.ISceneProEditService;
+import com.fdkankan.scene.service.ISceneProExtService;
+import com.fdkankan.scene.service.ISceneProService;
+import com.fdkankan.scene.service.ISceneResourceCameraService;
+import com.fdkankan.scene.service.ISceneResourceCooperationService;
+import com.fdkankan.scene.service.ISceneService;
+import com.fdkankan.scene.service.IVideoSceneProgressService;
+import com.fdkankan.scene.vo.BuildSceneParamVO;
+import com.fdkankan.scene.vo.RebuildVedioSceneParamVO;
+import com.fdkankan.scene.vo.ResponseSceneFile;
+import com.fdkankan.scene.vo.ScenePlusVO;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.time.LocalDate;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.UUID;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.lang3.StringUtils;
@@ -42,13 +115,6 @@ import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.time.LocalDate;
-import java.util.*;
-
 /**
  * <p>
  * 场景文件建模表 服务实现类
@@ -87,19 +153,16 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
     @Value("${unCalculated.company.ids:#{null}}")
     private String[] unCalculatedCompanyIds;
 
-    @Value("${rocketmq.build-scene.topicName.topic-modeling-a}")
-    private String topicModelingA;
-    @Value("${rocketmq.build-scene.topicName.topic-modeling-a-pre}")
-    private String topicModelingAPre;
+    @Value("${queue.modeling.modeling-call}")
+    private String queueModelingCall;
+    @Value("${queue.modeling.modeling-pre}")
+    private String queueModelingPre;
 
-    @Value("${rocketmq.build-scene.topicName.topic-laser-a}")
-    private String topicLaserA;
+    @Value("${queue.modeling.video-a}")
+    private String queueVideoA;
 
-    @Value("${rocketmq.build-scene.topicName.topic-video-a}")
-    private String topicVideoA;
-
-    @Value("${rocketmq.build-scene.topicName.topic-pic-a}")
-    private String topicPicA;
+    @Value("${queue.modeling.pic-a}")
+    private String queuePicA;
 
     @Autowired
     private IScenePlusService scenePlusService;
@@ -136,7 +199,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
     @Autowired
     ISceneResourceCooperationService sceneResourceCooperationService;
     @Autowired
-    RocketMQProducer mqProducer;
+    RabbitMqProducer rabbitMqProducer;
     @Autowired
     RedisUtil redisUtil;
     @Autowired
@@ -862,7 +925,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
             jsonObject.getInteger("scenetype"), jsonObject.getString("gps"), rebuild,
             4, firmwareVersion.toString(), sceneUrl, buildType, ecsType,
             cameraDetail.getCooperationUser());
-        BuildSceneMqMessage mqMessage = (BuildSceneMqMessage)objects[1];
+        BuildSceneCallMessage mqMessage = (BuildSceneCallMessage)objects[1];
 
         if(scene == null){
             log.info("双目相机入库失败");
@@ -882,7 +945,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
         //删除oss的houst_floor.json
         uploadToOssUtil.delete("data/data"+sceneNum+File.separator+"houst_floor.json");
 
-        mqProducer.syncSend(topicModelingAPre, mqMessage);
+        rabbitMqProducer.sendByWorkQueue(queueModelingPre, mqMessage);
 
         Map<String, String> map = new HashMap<>();
         map.put("sceneNum", sceneNum);
@@ -1051,7 +1114,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
             jsonObject.getJSONArray("points").size(), jsonObject.getString("name"), jsonObject.getString("info"),
             jsonObject.getInteger("scenetype"), jsonObject.getString("gps"), rebuild,
             jsonObject.getInteger("resolution"), firmwareVersion.toString(), sceneUrl, buildType, ecsType, cameraDetail.getCooperationUser());
-        BuildSceneMqMessage  mqMessage = (BuildSceneMqMessage)objects[1];
+        BuildSceneCallMessage  mqMessage = (BuildSceneCallMessage)objects[1];
 
         if(scene != null){
             JSONObject statusJson = new JSONObject();
@@ -1178,10 +1241,10 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
         if(jsonObject.getJSONObject("cam").getIntValue("type") == 10){
 //            mqProducer.sendOneWay(topicLaserA, mqMessage);
             // TODO: 2022/3/19 这里应该是发送激光的 ,目前还不清楚,先统一发送同一个mq
-            mqProducer.syncSend(topicModelingAPre, mqMessage);
+            rabbitMqProducer.sendByWorkQueue(queueModelingPre, mqMessage);
         }else if(scene != null){
 //            mqProducer.sendInOrder(topicModelingA, scene.getId()+"", scene.getMqMsg());
-            mqProducer.syncSend(topicModelingAPre, mqMessage);
+            rabbitMqProducer.sendByWorkQueue(queueModelingPre, mqMessage);
         }
     }
 
@@ -1256,7 +1319,8 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
                 //生成标定数据
                 ComputerUtil.createCalibrationData(calPath, filePath);
                 //开始标定计算
-                mqProducer.sendInOrder(topicModelingA, new Random().nextInt()+"", calPath);
+                rabbitMqProducer.sendByWorkQueue(queueModelingCall, calPath);
+
 
             }else if(jsonObject.get("calibration") != null && jsonObject.getString("calibration").equals("2")){
                 String mac = filePath.replace(ConstantFilePath.BUILD_MODEL_PATH, "").split("/")[0];
@@ -1271,7 +1335,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
                 //生成标定数据
                 ComputerUtil.createCalibrationData(calPath, filePath);
                 //开始标定计算
-                mqProducer.sendInOrder(topicModelingA, new Random().nextInt()+"", calPath);
+                rabbitMqProducer.sendByWorkQueue(queueModelingCall, calPath);
             }else {
 
                 String sceneNum = "";
@@ -1372,7 +1436,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
                 }
                 SceneProPO sceneProPO = null;
                 Object[] objects = null;
-                BuildSceneMqMessage mqMessage = null;
+                BuildSceneCallMessage mqMessage = null;
                 if(fromOss){
                     // TODO: 2022/3/21 plus版本稳定后删除 ---------------------------------------------------------------------------------start
                     sceneProPO = this.createScenePro(sceneNum, camera.getId(), camera.getChildName(), jsonObject.getString("creator"),
@@ -1411,7 +1475,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
                         jsonObject.getInteger("scenetype"), jsonObject.getString("gps"), rebuild,
                         jsonObject.getInteger("resolution"), firmwareVersion.toString(), sceneUrl, buildType, ecsType, cameraDetail.getCooperationUser());
                 }
-                mqMessage = (BuildSceneMqMessage)objects[1];
+                mqMessage = (BuildSceneCallMessage)objects[1];
 
                 if(sceneProPO != null){
                     JSONObject statusJson = new JSONObject();
@@ -1534,7 +1598,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
                     return;
                 }
                 if(sceneProPO != null){
-                    mqProducer.syncSend(topicModelingAPre,  mqMessage);
+                    rabbitMqProducer.sendByWorkQueue(queueModelingPre,  mqMessage);
                 }
 
             }
@@ -1596,7 +1660,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
             scene.setThumb(ConstantUrl.DEFAULT_SCENE_PIC);
         }
 
-        BuildSceneMqMessage buildSceneMqMessage = new BuildSceneMqMessage();
+        BuildSceneCallMessage buildSceneMqMessage = new BuildSceneCallMessage();
         buildSceneMqMessage.setUnicode(unicode);
         buildSceneMqMessage.setPath(path);
         buildSceneMqMessage.setPrefix(prefix);
@@ -1618,7 +1682,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
             buildSceneMqMessage.setUserName("noMan");
         }
 //        mqProducer.syncSend(topicModelingA, buildSceneMqMessage);
-        mqProducer.syncSend(topicModelingAPre, buildSceneMqMessage);
+        rabbitMqProducer.sendByWorkQueue(queueModelingPre, buildSceneMqMessage);
 
         if(sceneShootCount == null)
         {
@@ -1748,7 +1812,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
             scenePlusExt.setThumb(ConstantUrl.DEFAULT_SCENE_PIC);
         }
 
-        BuildSceneMqMessage buildSceneMqMessage = new BuildSceneMqMessage();
+        BuildSceneCallMessage buildSceneMqMessage = new BuildSceneCallMessage();
         buildSceneMqMessage.setUnicode(unicode);
         buildSceneMqMessage.setPath(path);
         buildSceneMqMessage.setPrefix(prefix);
@@ -1769,7 +1833,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
         {
             buildSceneMqMessage.setUserName("noMan");
         }
-        mqProducer.syncSend(topicModelingAPre, buildSceneMqMessage);
+        rabbitMqProducer.sendByWorkQueue(queueModelingPre, buildSceneMqMessage);
 
         if(sceneShootCount == null)
         {
@@ -2354,7 +2418,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
 
         }
 
-        BuildSceneMqMessage buildSceneMqMessage =this.getBuildSceneMqMessage(
+        BuildSceneCallMessage buildSceneMqMessage =this.getBuildSceneMqMessage(
             projectNum, cameraName, unicode, cameraType, fileId, prefix, imgsName, isModel,
             userName, algorithm, resolution, buildType, path, scenePlus.getId(), scenePlus.getTitle(),
             scenePlusExt.getWebSite(), scenePlus.getCreateTime(), scenePlus.getUserId(),
@@ -2368,13 +2432,13 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
         return new Object[]{scenePlusVO, buildSceneMqMessage};
     }
 
-    public BuildSceneMqMessage getBuildSceneMqMessage(String projectNum, String cameraName, String unicode,
+    public BuildSceneCallMessage getBuildSceneMqMessage(String projectNum, String cameraName, String unicode,
                                                              Long cameraType, String fileId,String prefix, String imgsName,
                                                              String isModel, String userName,String algorithm, Integer resolution,
                                                              String buildType, String path, Long sceneProId, String sceneName, String webSite,
                                                              Date sceneProCreateTime, Long userId, String dataSource,
                                                              Integer sceneStatus, Integer PayStatus, String thumb) {
-        BuildSceneMqMessage mqMsg = new BuildSceneMqMessage();
+        BuildSceneCallMessage mqMsg = new BuildSceneCallMessage();
         mqMsg.setSceneProId(sceneProId);
         mqMsg.setSceneNum(projectNum);
         mqMsg.setCameraName(cameraName);
@@ -2676,7 +2740,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
 
             if(sceneSource == 4){
                 fdkkLaserService.updateSceneStatus(num,0);
-                BuildSceneMqMessage buildSceneMqMessage =this.getBuildSceneMqMessage(
+                BuildSceneCallMessage buildSceneMqMessage =this.getBuildSceneMqMessage(
                     num, cameraName, unicode, cameraType, fileId,
                     dataSource.replace(ConstantFilePath.BUILD_MODEL_PATH, "")
                         .replace(ConstantFilePath.BUILD_MODEL_LASER_PATH,"")+ File.separator,
@@ -2685,9 +2749,9 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
                     jsonObject.getInteger("resolution"), buildType,
                     ConstantFilePath.BUILD_MODEL_LASER_PATH + unicode, sceneId, sceneName,
                     webSite, createTime, sceneUserId, dataSource, sceneStatus, payStatus, thumb);
-                mqProducer.syncSend(topicModelingAPre, buildSceneMqMessage);
+                rabbitMqProducer.sendByWorkQueue(queueModelingPre, buildSceneMqMessage);
             }else{
-                BuildSceneMqMessage buildSceneMqMessage =this.getBuildSceneMqMessage(
+                BuildSceneCallMessage buildSceneMqMessage =this.getBuildSceneMqMessage(
                     num, cameraName, unicode, cameraType, fileId,
                     dataSource.replace(ConstantFilePath.BUILD_MODEL_PATH, "")
                         .replace(ConstantFilePath.BUILD_MODEL_LASER_PATH,"")+ File.separator,
@@ -2697,7 +2761,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
                     ConstantFilePath.BUILD_MODEL_PATH + unicode, sceneId, sceneName,
                     webSite, createTime, sceneUserId, dataSource, sceneStatus, payStatus, thumb);
 
-                mqProducer.syncSend(topicModelingAPre, buildSceneMqMessage);
+                rabbitMqProducer.sendByWorkQueue(queueModelingPre, buildSceneMqMessage);
             }
 
             // TODO: plus版本稳定后删除 -------------------------------start
@@ -2844,7 +2908,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
         videoSceneProgress.setRebuildParam(reObject.toJSONString());
         videoSceneProgressService.save(videoSceneProgress);
 
-        mqProducer.syncSend(topicVideoA, parametr);
+        rabbitMqProducer.sendByWorkQueue(queueVideoA, parametr);
 
         return ResultData.ok();
     }
@@ -2893,24 +2957,9 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
         picSceneProgressService.save(picSceneProgress);
 
         String parametr = picSceneProgress.getId()+"";
-        mqProducer.syncSend(topicPicA, parametr);
+        rabbitMqProducer.sendByWorkQueue(queuePicA, parametr);
 
         return ResultData.ok();
     }
 
-
-    public static void main(String[] args) {
-//        ScenePro scenePro = new ScenePro();
-//        scenePro.setCameraId(1l);
-//        SceneProExt sceneProExt = new SceneProExt();
-//        sceneProExt.setSceneStatus(2);
-        SceneProPO sceneProPO = new SceneProPO();
-//        BeanUtil.copyProperties(scenePro, sceneProPO);
-//        BeanUtil.copyProperties(sceneProExt, sceneProPO);
-//        System.out.println(123);
-
-//        JSONObject jsonObject = new JSONObject();
-//        jsonObject.put("test", null);
-    }
-
 }

+ 4 - 17
4dkankan-center-scene/src/main/resources/bootstrap-dev.yml

@@ -34,9 +34,9 @@ spring:
             group: DEFAULT_GROUP
             refresh: true
 
-          - data-id: common-mq-config.yaml
-            group: DEFAULT_GROUP
-            refresh: true
+#          - data-id: common-mq-config.yaml
+#            group: DEFAULT_GROUP
+#            refresh: true
 
           - data-id: common-rabbitmq-config.yaml
             group: DEFAULT_GROUP
@@ -51,7 +51,7 @@ spring:
             refresh: true
       discovery:
         server-addr: 192.168.0.47:8848
-        namespace: 4dkankan-test
+        namespace: 4dkankan-dev
     sentinel:
       transport:
         dashboard: 192.168.0.47:8888
@@ -77,19 +77,6 @@ spring:
             groupId: SENTINEL_GROUP
             namespace: 4dkankan-dev
             rule-type: degrade
-#  rabbitmq:
-#    host: 120.25.146.52
-#    port: 5672
-#    username: guest
-#    password: 4dagecui2019$
-#    virtual-host: /
-#    listener:
-#      simple:
-#        acknowledge-mode: manual
-#        retry:
-#          max-attempts: 3
-#          enabled: true
-#    publisher-confirm-type: correlated
 #      log:
 #        dir: ./logs # 默认值${home}/logs/csp/
 #        switch-pid: true # 日志带上线程id

+ 3 - 3
4dkankan-center-scene/src/main/resources/bootstrap-pro.yml

@@ -34,9 +34,9 @@ spring:
             group: DEFAULT_GROUP
             refresh: true
 
-          - data-id: common-mq-config.yaml
-            group: DEFAULT_GROUP
-            refresh: true
+#          - data-id: common-mq-config.yaml
+#            group: DEFAULT_GROUP
+#            refresh: true
 
           - data-id: common-rabbitmq-config.yaml
             group: DEFAULT_GROUP

+ 3 - 12
4dkankan-center-scene/src/main/resources/bootstrap-test.yml

@@ -34,9 +34,9 @@ spring:
             group: DEFAULT_GROUP
             refresh: true
 
-          - data-id: common-mq-config.yaml
-            group: DEFAULT_GROUP
-            refresh: true
+#          - data-id: common-mq-config.yaml
+#            group: DEFAULT_GROUP
+#            refresh: true
 
           - data-id: common-rabbitmq-config.yaml
             group: DEFAULT_GROUP
@@ -77,15 +77,6 @@ spring:
             groupId: SENTINEL_GROUP
             namespace: 4dkankan-test
             rule-type: degrade
-  rabbitmq:
-    host: 120.25.146.52
-    port: 5672
-    username: guest
-    password: 4dagecui2019$
-    virtual-host: /
-    listener:
-      direct:
-        acknowledge-mode: manual
 #      log:
 #        dir: ./logs # 默认值${home}/logs/csp/
 #        switch-pid: true # 日志带上线程id