Bläddra i källkod

Merge remote-tracking branch 'origin/master'

by su 3 år sedan
förälder
incheckning
6b714630f5

+ 14 - 122
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/entity/Scene.java

@@ -16,7 +16,7 @@ import java.util.Date;
  * </p>
  *
  * @author dengsixing
- * @since 2021-12-23
+ * @since 2021-12-30
  */
 @Getter
 @Setter
@@ -53,16 +53,10 @@ public class Scene implements Serializable {
     private String thumb;
 
     /**
-     * 创建时间
-     */
-    @TableField("create_time")
-    private Date createTime;
-
-    /**
      * 0表示未建好,1表示建好,-1表示出错,-2表示不要在官网上显示
      */
-    @TableField("status")
-    private Integer status;
+    @TableField("scene_status")
+    private Integer sceneStatus;
 
     /**
      * 原始的大场景数据(七牛)
@@ -97,8 +91,8 @@ public class Scene implements Serializable {
     /**
      * 大场景序号
      */
-    @TableField("num")
-    private String num;
+    @TableField("scene_code")
+    private String sceneCode;
 
     /**
      * 大场景的密钥
@@ -149,130 +143,28 @@ public class Scene implements Serializable {
     private Integer floorLogoSize;
 
     /**
-     * 要上传的热点的id集合,用逗号隔开
-     */
-    @TableField("hots_ids")
-    private String hotsIds;
-
-    /**
-     * 表示初始点信息
-     */
-    @TableField("entry")
-    private String entry;
-
-    /**
-     * 拍摄数量
-     */
-    @TableField("shoot_count")
-    private Integer shootCount;
-
-    /**
-     * 风格
-     */
-    @TableField("style")
-    private Integer style;
-
-    /**
-     * 要gps定位
-     */
-    @TableField("gps")
-    private String gps;
-
-    /**
-     * 方案:1是双目,2是转台,3是六目,4是八目
-     */
-    @TableField("scene_scheme")
-    private Integer sceneScheme;
-
-    /**
-     * 背景音乐名称
-     */
-    @TableField("bg_music")
-    private String bgMusic;
-
-    /**
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
     private String recStatus;
 
     /**
-     * 更新时间
-     */
-    @TableField("update_time")
-    private Date updateTime;
-
-    /**
-     * 普通录屏文件地址
-     */
-    @TableField("screencap_voice_src")
-    private String screencapVoiceSrc;
-
-    /**
-     * 旧版录屏数据地址
-     */
-    @TableField("screencap_music")
-    private String screencapMusic;
-
-    /**
-     * 录屏文件个数
-     */
-    @TableField("screencap_len")
-    private Integer screencapLen;
-
-    /**
-     * 录音文件地址
-     */
-    @TableField("screencap_voice_sound")
-    private String screencapVoiceSound;
-
-    /**
-     * 选择的类型,sound为screencapVoiceSound,file为screencapVoiceSrc
-     */
-    @TableField("screencap_voice_type")
-    private String screencapVoiceType;
-
-    /**
-     * 录屏文件地址
-     */
-    @TableField("play_data")
-    private String playData;
-
-    /**
-     * 算法类型
-     */
-    @TableField("algorithm")
-    private String algorithm;
-
-    /**
-     * oss服务商
-     */
-    @TableField("oss")
-    private String oss;
-
-    /**
-     * 重新建模的版本
-     */
-    @TableField("floor_edit_ver")
-    private Integer floorEditVer;
-
-    /**
-     * 正式发布重新建模的版本
+     * 创建时间
      */
-    @TableField("floor_publish_ver")
-    private Integer floorPublishVer;
+    @TableField("create_time")
+    private Date createTime;
 
     /**
-     * 使用容量
+     * 更新时间
      */
-    @TableField("space")
-    private Long space;
+    @TableField("update_time")
+    private Date updateTime;
 
     /**
-     * 录屏图片存放文件
+     * 0-有效,1-删除
      */
-    @TableField("screencap_thumb")
-    private String screencapThumb;
+    @TableField("tb_status")
+    private Integer tbStatus;
 
 
 }

+ 170 - 0
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/entity/SceneExt.java

@@ -0,0 +1,170 @@
+package com.fdkankan.modeling.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 场景表
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2021-12-30
+ */
+@Getter
+@Setter
+@TableName("t_scene_ext")
+public class SceneExt implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 外键id
+     */
+    @TableField("scene_id")
+    private Long sceneId;
+
+    /**
+     * 要上传的热点的id集合,用逗号隔开
+     */
+    @TableField("hots_ids")
+    private String hotsIds;
+
+    /**
+     * 表示初始点信息
+     */
+    @TableField("entry")
+    private String entry;
+
+    /**
+     * 拍摄数量
+     */
+    @TableField("shoot_count")
+    private Integer shootCount;
+
+    /**
+     * 风格
+     */
+    @TableField("style")
+    private Integer style;
+
+    /**
+     * 要gps定位
+     */
+    @TableField("gps")
+    private String gps;
+
+    /**
+     * 方案:1是双目,2是转台,3是六目,4是八目
+     */
+    @TableField("scene_scheme")
+    private Integer sceneScheme;
+
+    /**
+     * 背景音乐名称
+     */
+    @TableField("bg_music")
+    private String bgMusic;
+
+    /**
+     * 普通录屏文件地址
+     */
+    @TableField("screencap_voice_src")
+    private String screencapVoiceSrc;
+
+    /**
+     * 旧版录屏数据地址
+     */
+    @TableField("screencap_music")
+    private String screencapMusic;
+
+    /**
+     * 录屏文件个数
+     */
+    @TableField("screencap_len")
+    private Integer screencapLen;
+
+    /**
+     * 录音文件地址
+     */
+    @TableField("screencap_voice_sound")
+    private String screencapVoiceSound;
+
+    /**
+     * 选择的类型,sound为screencapVoiceSound,file为screencapVoiceSrc
+     */
+    @TableField("screencap_voice_type")
+    private String screencapVoiceType;
+
+    /**
+     * 录屏文件地址
+     */
+    @TableField("play_data")
+    private String playData;
+
+    /**
+     * 算法类型
+     */
+    @TableField("algorithm")
+    private String algorithm;
+
+    /**
+     * oss服务商
+     */
+    @TableField("oss")
+    private String oss;
+
+    /**
+     * 重新建模的版本
+     */
+    @TableField("floor_edit_ver")
+    private Integer floorEditVer;
+
+    /**
+     * 正式发布重新建模的版本
+     */
+    @TableField("floor_publish_ver")
+    private Integer floorPublishVer;
+
+    /**
+     * 使用容量
+     */
+    @TableField("space")
+    private Long space;
+
+    /**
+     * 录屏图片存放文件
+     */
+    @TableField("screencap_thumb")
+    private String screencapThumb;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    @TableField("update_time")
+    private Date updateTime;
+
+    /**
+     * 0-有效,1-删除
+     */
+    @TableField("tb_status")
+    private Integer tbStatus;
+
+
+}

+ 18 - 0
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/mapper/ISceneExtMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.modeling.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.modeling.entity.SceneExt;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 场景表 Mapper 接口
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2021-12-30
+ */
+@Mapper
+public interface ISceneExtMapper extends BaseMapper<SceneExt> {
+
+}

+ 4 - 5
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/receiver/BuildSceneReceiver.java

@@ -147,7 +147,7 @@ public class BuildSceneReceiver implements MessageListenerConcurrently {
                 }
             } catch (Exception e) {
                 e.printStackTrace();
-                sceneProService.updateStatus(message.getSceneNum(), -1);
+                sceneService.updateStatus(message.getSceneNum(), -1);
                 BuildSceneReceiver.this.handFail("计算失败", message);
             }
             log.info("场景生成好了***");
@@ -273,7 +273,7 @@ public class BuildSceneReceiver implements MessageListenerConcurrently {
                 //休眠1秒,否则可能获取不到场景资源
                 Thread.sleep(1000);
                 scene = sceneProService.findBySceneNum(projectNum);
-                sceneProExt = sceneProExtService.lambdaQuery().eq(SceneProExt::getSceneProId, scene.getId()).getEntity();
+                sceneProExt = sceneProExtService.getBySceneProId(scene.getId());
                 if(scene == null){
                     log.info(projectNum + ":场景不存在");
                     handFail("场景不存在",message);
@@ -495,7 +495,7 @@ public class BuildSceneReceiver implements MessageListenerConcurrently {
                 }
                 if (sceneFileBuildEntity != null){
                     sceneFileBuildEntity.setBuildStatus(3);
-                    sceneFileBuildService.update(sceneFileBuildEntity);
+                    sceneFileBuildService.updateById(sceneFileBuildEntity);
                 }
 
                 //根据data.fdage推送计算完成的消息
@@ -613,10 +613,9 @@ public class BuildSceneReceiver implements MessageListenerConcurrently {
         } catch(Exception e){
             log.error("计算大场景失败"+projectNum);
             sceneService.updateStatus(projectNum, -1);
-            sceneProService.updateStatus(projectNum, -1);
             if (sceneFileBuildEntity != null){
                 sceneFileBuildEntity.setBuildStatus(-1);
-                sceneFileBuildService.update(sceneFileBuildEntity);
+                sceneFileBuildService.updateById(sceneFileBuildEntity);
             }
             e.printStackTrace();
             StringWriter trace=new StringWriter();

+ 18 - 0
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/service/ISceneExtService.java

@@ -0,0 +1,18 @@
+package com.fdkankan.modeling.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.modeling.entity.SceneExt;
+
+/**
+ * <p>
+ * 场景表 服务类
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2021-12-30
+ */
+public interface ISceneExtService extends IService<SceneExt> {
+
+    SceneExt getBySceneId(long sceneId);
+
+}

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

@@ -15,5 +15,4 @@ public interface ISceneFileBuildService extends IService<SceneFileBuild> {
 
     SceneFileBuild findByFileId(String fileId);
 
-    void update(SceneFileBuild sceneFileBuildEntity);
 }

+ 0 - 2
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/service/ISceneProService.java

@@ -15,8 +15,6 @@ import java.util.List;
  */
 public interface ISceneProService extends IService<ScenePro> {
 
-    void updateStatus(String str, int i);
-
     ScenePro findBySceneNum(String projectNum);
 
     void updateTime(String projectNum, Long space, int payStatus, String toJSONString, long computeTime);

+ 2 - 0
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/service/ISceneService.java

@@ -16,4 +16,6 @@ public interface ISceneService extends IService<Scene> {
     void updateTime(String projectNum, Long space, int payStatus);
 
     void updateStatus(String projectNum, int i);
+
+    Scene findBySceneNum(String projectNum);
 }

+ 25 - 0
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/service/impl/SceneExtServiceImpl.java

@@ -0,0 +1,25 @@
+package com.fdkankan.modeling.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.modeling.entity.SceneExt;
+import com.fdkankan.modeling.mapper.ISceneExtMapper;
+import com.fdkankan.modeling.service.ISceneExtService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 场景表 服务实现类
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2021-12-30
+ */
+@Service
+public class SceneExtServiceImpl extends ServiceImpl<ISceneExtMapper, SceneExt> implements ISceneExtService {
+
+    @Override
+    public SceneExt getBySceneId(long sceneId) {
+        return this.getOne(new LambdaQueryWrapper<SceneExt>().eq(SceneExt::getSceneId, sceneId));
+    }
+}

+ 13 - 5
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/service/impl/SceneFileBuildServiceImpl.java

@@ -1,11 +1,14 @@
 package com.fdkankan.modeling.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.modeling.entity.SceneFileBuild;
 import com.fdkankan.modeling.mapper.ISceneFileBuildMapper;
 import com.fdkankan.modeling.service.ISceneFileBuildService;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 场景文件建模表 服务实现类
@@ -19,11 +22,16 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
 
     @Override
     public SceneFileBuild findByFileId(String fileId) {
-        return null;
+        QueryWrapper<SceneFileBuild> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(SceneFileBuild::getFileId,fileId);
+        queryWrapper.lambda().eq(SceneFileBuild::getRecStatus,"A");
+        queryWrapper.lambda().orderByDesc(SceneFileBuild::getCreateTime);
+        queryWrapper.last("LIMIT 1");
+        List<SceneFileBuild> list = this.list(queryWrapper);
+        if(list == null || list.size() <=0){
+            return null;
+        }
+        return list.get(0);
     }
 
-    @Override
-    public void update(SceneFileBuild sceneFileBuildEntity) {
-
-    }
 }

+ 15 - 6
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/service/impl/SceneProServiceImpl.java

@@ -34,11 +34,6 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     private ISceneProExtService sceneProExtService;
 
     @Override
-    public void updateStatus(String str, int i) {
-
-    }
-
-    @Override
     public ScenePro findBySceneNum(String projectNum) {
         List<ScenePro> list = this.list(new QueryWrapper<ScenePro>()
                 .eq("tb_status", TbStatus.VALID.code())
@@ -51,8 +46,22 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     }
 
     @Override
-    public void updateTime(String projectNum, Long space, int payStatus, String toJSONString, long computeTime) {
+    public void updateTime(String projectNum, Long space, int payStatus, String videos, long computeTime) {
+        ScenePro scenePro = this.findBySceneNum(projectNum);
+        if(scenePro == null){
+            return;
+        }
+        SceneProExt sceneProExt = sceneProExtService.getBySceneProId(scenePro.getId());
+        if( sceneProExt == null){
+            return;
+        }
+        scenePro.setVideos(videos);
+        this.updateById(scenePro);
 
+        sceneProExt.setSceneStatus(-2);
+        sceneProExt.setSpace(space);
+        sceneProExt.setComputeTime(computeTime);
+        sceneProExtService.updateById(sceneProExt);
     }
 
     @Override

+ 38 - 1
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/service/impl/SceneServiceImpl.java

@@ -1,24 +1,61 @@
 package com.fdkankan.modeling.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.modeling.entity.Scene;
+import com.fdkankan.modeling.entity.SceneExt;
 import com.fdkankan.modeling.mapper.ISceneMapper;
+import com.fdkankan.modeling.service.ISceneExtService;
 import com.fdkankan.modeling.service.ISceneService;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
+import java.util.List;
+
 @Slf4j
 @Service
 public class SceneServiceImpl extends ServiceImpl<ISceneMapper, Scene> implements ISceneService {
 
+    @Autowired
+    private ISceneExtService sceneExtService;
 
     @Override
     public void updateTime(String projectNum, Long space, int payStatus) {
-
+        Scene scene = this.findBySceneNum(projectNum);
+        if(scene != null){
+            scene.setCreateTime(new Date());
+            scene.setSceneStatus(-2);
+            scene.setPayStatus(payStatus);
+            this.updateById(scene);
+            SceneExt sceneExt = sceneExtService.getBySceneId(scene.getId());
+            if(sceneExt != null){
+                sceneExt.setSpace(space);
+                sceneExtService.updateById(sceneExt);
+            }
+        }
     }
 
     @Override
     public void updateStatus(String projectNum, int i) {
+        UpdateWrapper<Scene> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().set(Scene::getSceneStatus,i);
+        updateWrapper.lambda().eq(Scene::getSceneCode,projectNum);
+        this.update(updateWrapper);
+    }
 
+    @Override
+    public Scene findBySceneNum(String projectNum) {
+        QueryWrapper<Scene> sceneQueryWrapper = new QueryWrapper<>();
+        sceneQueryWrapper.lambda().eq(Scene::getSceneCode,projectNum);
+        sceneQueryWrapper.lambda().eq(Scene::getRecStatus,"A");
+        List<Scene> list = this.list(sceneQueryWrapper);
+        if(CollUtil.isEmpty(list)){
+            return null;
+        }
+        return list.get(0);
     }
 }

+ 1 - 1
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/utils/DingDingUtils.java

@@ -56,7 +56,7 @@ public class DingDingUtils {
 
     public static void sendMsgToDingRobot(String reason,String serverPath,String num) throws ApiException, UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeyException {
         String content = String.format(msgPattern,environment, SysConstants.hostName,reason,num,serverPath,num,num);
-        sendMsgToDingRobot(content);
+        //sendMsgToDingRobot(content);
     }
 
     public static void sendMsgToDingRobot(String content) throws ApiException, UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeyException {

+ 13 - 0
4dkankan-common-mq/src/main/java/com/fdkankan/mq/message/BaseMQMessage.java

@@ -18,6 +18,11 @@ public class BaseMQMessage implements Serializable {
      */
     private String createTime;
 
+    /**
+     * 执行结果接收消息队列名称
+     */
+    private String resultReceiverMqName;
+
     public String getRebuild() {
         return rebuild;
     }
@@ -41,4 +46,12 @@ public class BaseMQMessage implements Serializable {
     public void setCreateTime(String createTime) {
         this.createTime = createTime;
     }
+
+    public String getResultReceiverMqName() {
+        return resultReceiverMqName;
+    }
+
+    public void setResultReceiverMqName(String resultReceiverMqName) {
+        this.resultReceiverMqName = resultReceiverMqName;
+    }
 }