dengsixing hai 2 semanas
pai
achega
8257768ccc

+ 25 - 21
src/main/java/com/fdkankan/download/listener/RabbitMqListener.java

@@ -53,29 +53,33 @@ public class RabbitMqListener {
         log.info("开始消费消息,id:{},queue:{},content:{}", messageId, "batch-download-scene", msg);
         JSONObject jsonObject = JSON.parseObject(msg);
         String num = jsonObject.getString("num");
-
-        DownloadLog downloadLog = new DownloadLog();
-        downloadLog.setNum(num);
-        ScenePlusExt scenePlusExt = null;
-        ScenePlus scenePlus = scenePlusService.getByNum(num);
-        if(scenePlus == null){
-            downloadLog.setStatus(CommonSuccessStatus.FAIL.code());
-            downloadLog.setReason("场景不存在或已被删除");
-            downloadLogService.save(downloadLog);
-        }
-        scenePlusExt = scenePlusExtService.getByPlusId(scenePlus.getId());
-        if(scenePlus.getSceneSource() == SceneSource.JG.code()
-                || scenePlus.getSceneSource() == SceneSource.SG.code()
-                || scenePlus.getSceneSource() == SceneSource.SX.code()){
-            downloadService.downloadLaserScene(num);
-        }
-        if(scenePlus.getSceneSource() == SceneSource.BM.code()
-                || scenePlus.getSceneSource() == SceneSource.ZT.code()
-                || scenePlusExt.getIsObj() == 1){
-            downloadService.downloadMeshScene(num);
+        try {
+            DownloadLog downloadLog = new DownloadLog();
+            downloadLog.setNum(num);
+            ScenePlusExt scenePlusExt = null;
+            ScenePlus scenePlus = scenePlusService.getByNum(num);
+            if(scenePlus == null){
+                downloadLog.setStatus(CommonSuccessStatus.FAIL.code());
+                downloadLog.setReason("场景不存在或已被删除");
+                downloadLogService.save(downloadLog);
+            }
+            scenePlusExt = scenePlusExtService.getByPlusId(scenePlus.getId());
+            if(scenePlus.getSceneSource() == SceneSource.JG.code()
+                    || scenePlus.getSceneSource() == SceneSource.SG.code()
+                    || scenePlus.getSceneSource() == SceneSource.SX.code()){
+                downloadService.downloadLaserScene(num);
+            }
+            if(scenePlus.getSceneSource() == SceneSource.BM.code()
+                    || scenePlus.getSceneSource() == SceneSource.ZT.code()
+                    || scenePlusExt.getIsObj() == 1){
+                downloadService.downloadMeshScene(num);
+            }
+        }catch (Exception e){
+            log.error("下载失败, num:{}", num, e);
+        }finally{
+            channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
         }
 
-        channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
         log.info("结束消费消息,id:{}", messageId);
     }