Browse Source

增加切图状态

xiewj 4 months ago
parent
commit
868536c70c

+ 4 - 2
720yun_fd_base/gis_domain/src/main/java/com/gis/domain/entity/WorkEntity.java

@@ -95,6 +95,8 @@ public class WorkEntity extends BaseStrEntity implements Serializable {
     private Date shootTime;
 
     @ApiModelProperty(value = "0表示未付款,1表示付款了,-1表示欠费(八目场景指锁住),-2表示临时空间(八目场景)", name = "payStatus")
-    private Integer
-            payStatus;
+    private Integer  payStatus;
+
+    @ApiModelProperty(value = "切图状态:-1切图失败 0等待中 1 排队 2切图中 3切图完成", name = "panoStatus")
+    private Integer panoStatus;
 }

+ 1 - 0
720yun_fd_base/gis_service/src/main/java/com/gis/service/WorkService.java

@@ -79,4 +79,5 @@ public interface WorkService extends IService<WorkEntity> {
     WorkEntity entityAdd2(SceneQueueDTO sceneQueueDTO);
     WorkEntity findByNum(String num);
 
+    void updatePanoStatus(String id, int panoStatus);
 }

+ 9 - 0
720yun_fd_base/gis_service/src/main/java/com/gis/service/impl/WorkServiceImpl.java

@@ -15,6 +15,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.serializer.SerializerFeature;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.filestorage.FileStorageTemplate;
@@ -2040,6 +2041,7 @@ public class WorkServiceImpl extends ServiceImpl<WorkMapper, WorkEntity> impleme
         entity.setId(SnowFlakeUUidUtils.getUuid("WK"));
         entity.setUserId(sceneQueueDTO.getPhoneNum());
         entity.setStatus(1);
+        entity.setPanoStatus(0);
         Date date = new Date();
         entity.setCreateTime(date);
         entity.setUpdateTime(date);
@@ -2067,4 +2069,11 @@ public class WorkServiceImpl extends ServiceImpl<WorkMapper, WorkEntity> impleme
         return entity;
     }
 
+    @Override
+    public void updatePanoStatus(String id, int panoStatus) {
+        LambdaUpdateWrapper<WorkEntity> wrapper=Wrappers.lambdaUpdate();
+        wrapper.eq(WorkEntity::getId, id);
+        wrapper.set(WorkEntity::getPanoStatus, panoStatus);
+        update(wrapper);
+    }
 }

+ 2 - 0
720yun_fd_consumer/src/main/java/com/gis/listener/container/SceneQueueListener.java

@@ -123,6 +123,8 @@ public class SceneQueueListener implements ChannelAwareMessageListener {
                 mqSendLog.setCreateTime(new Date());
                 mqSendLogService.save(mqSendLog);
                 log.info("保存mqSendLog-数据库准备处理:{}",mqSendLog);
+                workService.updatePanoStatus(workEntity.getId(),1);
+
             }
 
         }catch (Exception e){

+ 12 - 2
720yun_fd_consumer/src/main/java/com/gis/listener/container/SceneWorkQueueListener.java

@@ -3,6 +3,7 @@ package com.gis.listener.container;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.util.ObjUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
@@ -126,6 +127,7 @@ public class SceneWorkQueueListener implements ChannelAwareMessageListener {
         String msg = new String(message.getBody(), StandardCharsets.UTF_8);
 
 
+        WorkEntity workEntity=null;
 
         try {
             log.error("服务实例:{} 正在构建!", SysConstants.hostName);
@@ -144,7 +146,7 @@ public class SceneWorkQueueListener implements ChannelAwareMessageListener {
                 return;
             }
             sceneCode=param.getSceneCode();
-            WorkEntity workEntity=workService.findByNum(param.getSceneCode());
+            workEntity=workService.findByNum(param.getSceneCode());
             if (ObjectUtil.isNotEmpty(param.getSceneCode())&&param.getStatus()==1){
                 updateOssStatusJson(param.getSceneCode(),0);
 
@@ -152,6 +154,7 @@ public class SceneWorkQueueListener implements ChannelAwareMessageListener {
                 //1,下载场景的全景图 默认 。scene_view_data/panorama/目录下的全景图图片
                 workEntity.setAlgorithmTime(param.getAlgorithmTime());
                 workEntity.setCalcStatus(0);
+                workEntity.setPanoStatus(2);
                 if (ObjectUtil.isNotEmpty(param.getPayStatus())){
                     workEntity.setPayStatus(param.getPayStatus());
                 }
@@ -231,12 +234,19 @@ public class SceneWorkQueueListener implements ChannelAwareMessageListener {
                 updateOssStatusJson(param.getSceneCode(),1);
             }
             log.info("场景计算结束,队列名:{},id:{}", queueNameService.getQueueName(), messageId);
-
+            if (ObjUtil.isNotEmpty(workEntity)&&ObjUtil.isNotNull(workEntity.getId())){
+                log.info("场景计算结束,修改切图状态-start");
+                workService.updatePanoStatus(workEntity.getId(),3);
+                log.info("场景计算结束,修改切图状态-end");
+            }
 
         }catch (Exception e){
             if (StrUtil.isNotEmpty(sceneCode)){
                 updateOssStatusJson(sceneCode,0);
             }
+            if (ObjUtil.isNotEmpty(workEntity)&&ObjUtil.isNotNull(workEntity.getId())){
+                workService.updatePanoStatus(workEntity.getId(),-1);
+            }
             log.error("场景sceneQueue报错{}",e.getMessage());
             e.printStackTrace();
         }finally {