Selaa lähdekoodia

add offline queue3

xiewj 3 kuukautta sitten
vanhempi
commit
2b79de3900

+ 35 - 0
720yun_fd_consumer/src/main/java/com/gis/listener/container/WorkOfflineListener.java

@@ -5,16 +5,21 @@ import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.lang.tree.Tree;
 import cn.hutool.core.util.ObjUtil;
 import com.alibaba.fastjson.JSONObject;
+import com.fdkankan.filestorage.FileStorageTemplate;
 import com.gis.common.annotation.LogAnnotation;
+import com.gis.common.constant.ConfigConstant;
+import com.gis.common.mq.RabbitMqProducerUtil;
 import com.gis.common.util.FileUtils;
 import com.gis.common.util.Result;
 import com.gis.domain.dto.WorkOfflineDTO;
+import com.gis.domain.dto.WorkOfflineDoneDTO;
 import com.gis.domain.entity.WorkEntity;
 import com.gis.domain.entity.WorkNavigationEntity;
 import com.gis.domain.vo.WorkIdVO;
 import com.gis.domain.vo.WorkViewVo;
 import com.gis.oss.constant.CmdConstant;
 import com.gis.common.util.CmdUtils;
+import com.gis.oss.util.FileAndOssUtil;
 import com.gis.oss.util.OssShUtil;
 import com.gis.service.*;
 import com.rabbitmq.client.Channel;
@@ -48,6 +53,21 @@ public class WorkOfflineListener implements ChannelAwareMessageListener {
     private WorkViewService workViewService;
     @Autowired
     private WorkNavigationService workNavigationService;
+
+    @Autowired
+    RabbitMqProducerUtil rabbitMqProducerUtil;
+
+    @Value("${queue.qjkk-work-offline-done}")
+    String workOfflineDoneQueue;
+
+    @Autowired
+    FileAndOssUtil fileAndOssUtil;
+
+    @Resource
+    private FileStorageTemplate fileStorageTemplate;
+
+    @Autowired
+    ConfigConstant configConstant;
     @Override
     @LogAnnotation
     public void onMessage(Message message, Channel channel) throws Exception {
@@ -128,6 +148,21 @@ public class WorkOfflineListener implements ChannelAwareMessageListener {
                     CmdUtils.callLineSh(cmd);
                     log.info("删除mesh场景文件夹完成:{}",meshBasePath);
                 }
+
+                //处理全景看看离线包
+
+//                //打成zip包
+//                String zipName=workEntity.getId()+"_offline.zip";
+//                String zipPath="";
+//                //上传zip包
+//                String zipOssKey = "720yun_fd_manage/"+workEntity.getId()+"/" + zipName;
+//                fileAndOssUtil.uploadBySh(zipPath, zipOssKey);
+//                 String ossUrl= fileStorageTemplate.calculateUrl("") + zipOssKey;
+//                //通知场景完成
+//                WorkOfflineDoneDTO workOfflineDoneDTO=new WorkOfflineDoneDTO();
+//                workOfflineDoneDTO.setWorkId(workEntity.getId());
+//                workOfflineDoneDTO.setUrl(ossUrl);
+//                rabbitMqProducerUtil.sendByWorkQueue(workOfflineDoneQueue,workOfflineDoneDTO);
             }
 
 

+ 7 - 7
720yun_fd_manage/src/main/java/com/gis/controller/WorkController.java

@@ -247,9 +247,9 @@ public class WorkController extends BaseController {
     **/
     @ApiOperation(value = "v2.0.0-下载离线包", notes = "")
     @PostMapping("/downloadOffline")
-    public Result downloadOffline(String workId) {
+    public Result downloadOffline(@RequestBody WorkDto dto) {
         Map<String,Object> map=new HashMap<>();
-        map.put("workId", workId);
+        map.put("workId", dto.getId());
         rabbitMqProducerUtil.sendByWorkQueue(workOffline,map);
         return Result.success();
     }
@@ -260,8 +260,8 @@ public class WorkController extends BaseController {
      **/
     @ApiOperation(value = "v2.0.0-开始下载离线包重置状态", notes = "")
     @PostMapping("/UpdateDownloadOfflineStatus")
-    public Result UpdateDownloadOfflineStatus(String workId) {
-        return Result.success(workService.updateOfflineStatus(workId,0));
+    public Result UpdateDownloadOfflineStatus(@RequestBody WorkDto dto) {
+        return Result.success(workService.updateOfflineStatus(dto.getId(),1));
     }
 
     /*
@@ -270,8 +270,8 @@ public class WorkController extends BaseController {
      **/
     @ApiOperation(value = "v2.0.0-下载离线包详情", notes = "")
     @PostMapping("/getOfflineDetail")
-    public Result getOfflineDetail(String workId) {
-        WorkEntity workEntity = workService.getById(workId);
+    public Result getOfflineDetail(@RequestBody WorkDto dto) {
+        WorkEntity workEntity = workService.getById(dto.getId());
         WorkOfflineDetailDTO detailDTO=new WorkOfflineDetailDTO();
         //切图状态:-1失败 0未生成 1排队中 2生成中 3生成成功
         if (ObjUtil.isNotNull(workEntity)){
@@ -279,7 +279,7 @@ public class WorkController extends BaseController {
             if  (workEntity.getOfflineStatus()==0){
                 String basePath=serverBasePath+
                         File.separator+"offlineData"+
-                        File.separator+workId;
+                        File.separator+dto.getId();
                 detailDTO.setPath(basePath);
             }else if (workEntity.getOfflineStatus()==1){
                 detailDTO.setProgress(0);